当前位置:  技术问答>Socket网络高手请进,关于socket通讯. iis7站长之家

socket通讯问题 非常怪异!

    来源: 互联网  发布时间:2016-06-28

    本文导语:  最近一直被一个网络通讯问题折磨着,,,望大家不吝赐教。 现象描述如下: Linux嵌入式盒子里跑一个有网络通讯功能的程序,UDP和TCP两种方式我都试过了 1. 盒子内部运行一个UDP监听程序 电脑端一个程序不停地向...

最近一直被一个网络通讯问题折磨着,,,望大家不吝赐教。
现象描述如下:
Linux嵌入式盒子里跑一个有网络通讯功能的程序,UDP和TCP两种方式我都试过了

1.
盒子内部运行一个UDP监听程序
电脑端一个程序不停地向该盒子发送UDP包(大约1秒10个包),刚开始能接收到数据包,过段时间盒子就自动停止接收数据了。我观察了一下,大概发送3000~5000个包之后,盒子又开始接收数据,接收一小会又停掉了,如此反复。

变通方式:当盒子主动ping外界,或者主动往外界发送数据,,则盒子能较好地接收外界的数据包。而且盒子向外发送的速度越快,它接收来自外部数据的效果越好(曾试过间隔1秒、3秒的情况,前者丢包更少)

2.
盒子内部运行一个tcp server,电脑用一个client去连接,并发送TCP包
当盒子不主动向外部发送数据包或者ping命令,则电脑端的client连接偶尔会成功,即使成功了,向盒子发送数据,server端也接收不到数据,,,电脑client端发送一段时间了,就报告错误Asynchronous error 10053,好像是盒子server端断开了连接?这种情况下,我查看了下抓包记录,如果connect成功了,有三次握手记录,但之后client发送的数据都没有收到server端的应答,而且当client关闭的时候,也没有发现server应答
当盒子不停地ping外界,则server可以响应connect,正常接收到TCP数据包。

另外,盒子server不主动向外部发送任何数据时,电脑client端,当把arp缓存中的server项删除后,发起connect,显示首先ARP-Request、ARP-Reply,连接成功,之后server端不接收任何数据。  如果电脑client端的arp缓存中存在server项,则发起connect,则无任何响应。
 
我认为server端运行的应用程序应该没问题的,很简单的一个接收程序,,放到linux虚拟机上运行server,则一切都正常的。内核用的ti提供的,,DM6446,Davinci环境。。。。不会是底层网络驱动有问题吧?搞得我头晕,,,

各位高人帮忙分析一下这个现象

|
这个好像是握手信号出新了问题,网卡和路由器/交换机匹配有点问题。你直连看看。
我们的现象是板子插上网线后,如果不向外发送数据,则外部不能访问到板子。向外ping10-20包后,就能访问到。

|
能抓包吗?

看包是最实际,最有效的分析手段!

|
是不是你的盒子做了一个NAT在里面? 这些需要盒子往外面发送数据来激活一条通道后,外界也就是PC发出的数据可以通过NAT到达你盒子内部. 而盒子不主动往外发就没有外界到内部的通道.

    
 
 

您可能感兴趣的文章:

  • 请问rmi通讯和socket通讯有什么优劣和异同?
  • socket 通讯开发包 Simple Sockets
  • Socket网络高手请进,关于socket通讯.
  • UNIX Domain Socket通讯是否要求主机上要有网卡?
  • 关于socket 通讯问题,请进。。。
  • Applet和Socket如何通讯
  • *******求教高手SOCKET通讯问题!
  • 关于socket通讯的一个问题
  • sockets 通讯的 C++ 包 SpnetKit
  • socket双向通讯模式请教
  • windows和linux进行socket通讯问题(高手请进!)
  • 关于socket 通讯
  • 关于socket通讯的一个小小问题
  • Socket 通讯的问题,困扰了我很久。
  • socket通讯使用select的问题
  • java 与c++用socket通讯的问题??字符串不能接收到??急啊!
  • 求Servlet与applet通过socket通讯,相关资料或源码,网址都行!谢谢啦。
  • linux 与 windows 之间 socket 通讯问题
  • 要编写一个后台的socket通讯程序,各位有没有什么好的建议?
  • 一个java和vc通讯的socket问题求解,急
  • linux socket问题。。怎样获得已帮定特定port的一个套接字socket
  • 关于socket概念的理解问题!
  • socket编程 中的bind问题
  • 你是否可以回答Socket的问题?数据先后问题
  • 多进程socket编程问题
  • Socket的问题
  • socket accept问题,大家指教。
  • socket客户端程序的问题
  • 关于多网口socket通信的简单问题
  • fgets用在SOCKET流上的问题
  • linux socket fd 写阻塞问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • 线程间可否通过管道传递SOCKET句柄?还有其他方式传递SOCKET么?
  • java命名空间java.net类socket的类成员方法: getport定义及介绍
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket
  • java命名空间java.net类socket的类成员方法: getlocalport定义及介绍
  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • java命名空间java.net类socket的类成员方法: getinetaddress定义及介绍
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!
  • java命名空间java.net类socket的类成员方法: isconnected定义及介绍
  • 我的ping程序怎么老是出现Socket operation on non-socket


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3