当前位置: 技术问答>linux和unix
socket通讯问题!!请各位大师“会诊”
来源: 互联网 发布时间:2016-04-01
本文导语: 环境是这样的: AIX客户端(程序无源码)-SCO UNIX服务器兼客户机(程序有源码)-WIN2000SERVER服务器(程序无源码) 通信情况是这样的: AIX发请求包->SCO正确收包->SCO处理并发包->WIN2000正...
环境是这样的:
AIX客户端(程序无源码)-SCO UNIX服务器兼客户机(程序有源码)-WIN2000SERVER服务器(程序无源码)
通信情况是这样的:
AIX发请求包->SCO正确收包->SCO处理并发包->WIN2000正确收包->WIN2000处理并返回包->SCO正确收包->SCO处理并返回包->AIX收包问题(有时能收到,有时不能收)。
请各位大师“会诊”!谢谢!!
AIX客户端(程序无源码)-SCO UNIX服务器兼客户机(程序有源码)-WIN2000SERVER服务器(程序无源码)
通信情况是这样的:
AIX发请求包->SCO正确收包->SCO处理并发包->WIN2000正确收包->WIN2000处理并返回包->SCO正确收包->SCO处理并返回包->AIX收包问题(有时能收到,有时不能收)。
请各位大师“会诊”!谢谢!!
|
socket(AF_INET, SOCK_STREAM, 0)
0只是表示系统自动选择合适的协议
你可以自己手动指定_tcp
0只是表示系统自动选择合适的协议
你可以自己手动指定_tcp
|
man tcpdump
tcpdump may be can help you.
tcpdump may be can help you.
|
跟这个参数没关系。
简单说下我的思路。
问题特征:
1、整个流程中,只有一个步骤会发生问题。
2、从SCO处理并返回包->AIX收包,时好时坏。
那么显然,main流程中的socket不是问题。他只负责监听 [AIX发请求包]。
随后的通信全都是转到子进程中的sendrecv 函数中去处理,去connect。
从t1001这种函数名来看,应该是各种不同的协议报文由不同的函数来处理的。
那么,首先应该定位的就是,到底有多少种报文会出错(那些函数会出错)。
实际上,从SCO发送的总共只有2个方向:SCO处理并发包->WIN2000收包 和 从SCO处理并返回包->AIX收包这两种。
需要楼主多做点工作,去定位,找到是哪种报文出错才行。
以我的经验来看,多半和socket通讯无关。和处理流程有关的可能性更大一点。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。