主题 : Tiny6410 SDIO_WIFI无法进行大量数据流通讯(超过162字节就不行了) 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 100684
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
综合积分: 36 分
注册时间: 2014-02-19
最后登录: 2015-01-07
楼主  发表于: 2014-05-09 19:46

 Tiny6410 SDIO_WIFI无法进行大量数据流通讯(超过162字节就不行了)

求各位指导......
之前买了一块Tiny6410开发板,最近基于该平台,在做SDIO_WIFI的无线通讯工作,我在应用层已经写好了网络通讯程序,将开发板作为客户端,电脑作为服务器端。该网络通信的大致机理是这样的:按常规步骤,客户端、服务器都已经建立好了连接,然后我在客户端使用while(1){}循环,通过手动键入字符不停的向服务器发送数据,服务器接收到数据后,便将数据打印出来。

在套接字程序中,发送数据我用的是send()函数,里面有个发送字节个数的设置,如果我将字节数设置为大于162字节的任何数据,电脑端(服务器端)只能收到一次客户端发来的信息,当客户端第二次输入字符后,电脑端就没数据打印出来了。也就是,send()函数里面的字节数只能设置为小于162字节时,在客户端方可不停、无限次数的向服务器端发送数据。

请问各位,为什么会出现这种情况?怎么解决?

同时,我发现了一个问题,就是如果我设置为大于162字节的数后,即只能进行一次通讯,然后我输入指令ping 192.168.1.1(ping开发板连接的路由器),这时,也ping不同路由器了。个人感觉是不是发生阻塞了???
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2014-05-09 23:52
在这种情况下,开发板串口调试信息里有任何错误信息吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 100684
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
综合积分: 36 分
注册时间: 2014-02-19
最后登录: 2015-01-07
2楼  发表于: 2014-05-10 09:40

 回 1楼(kasim) 的帖子

没有任何错误消息,我采用flag = send(...)语句,利用flag将发送的字节数显示了出来,当字节数大于162时,比如发送200个字节,flag的值为200。接着再次发送字节,比如发送20个字节,flag的字节为20。

看返回值的话,数据应该是从系统缓存发到socket缓冲了,因为flag返回了正确的发送字节数,但是就是服务器端没有接收到。

还有,就是随后出现这个问题:就是如果我设置为大于162字节的数后,即只能进行一次通讯,然后我输入指令ping 192.168.1.1(ping开发板连接的路由器),这时,也ping不同路由器了。
级别: 新手上路
UID: 100684
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
综合积分: 36 分
注册时间: 2014-02-19
最后登录: 2015-01-07
3楼  发表于: 2014-05-10 16:23
有人知道吗?求解答.....
级别: 新手上路
UID: 100684
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
综合积分: 36 分
注册时间: 2014-02-19
最后登录: 2015-01-07
4楼  发表于: 2014-05-12 09:27
有人知道吗?求救啊。。。