嵌入式开发者社区

标题: UDP套接字编程(NDK_UDP工程的改写) [打印本页]

作者: 泉婷儿    时间: 2017-3-6 21:24
标题: UDP套接字编程(NDK_UDP工程的改写)
在创龙例程中,NDK_UDP工程中,DSP作为服务器,PC作为客户端;我改写了这个程序,使得PC作为服务器,DSP作为客户端。按着,如下思想编程:
[attach]2037[/attach]
但是,程序运行中,程序先运行sendto()函数,可是,这时网络调试助手并没有反应;直到运行完recvfrom()函数,此时,recvfrom()函数并没有接收到数据,返回-1,但是,同时,sendto()函数的内容输出到了网络调试助手,再次运行sendto()函数,此时sendto()函数的内容可以立即输出到调试助手。我开始以为sendto()函数的内容只是输出到了缓冲区没有输出到终端,于是加了system_flush()函数,但是依旧如上述运行。我的主要代码如下:
[attach]2038[/attach]
[attach]2039[/attach]
网络助手的设置如下:
[attach]2040[/attach]
其中,本地设置是PC的IP和端口;右下角是板子的IP和端口1025;请问这样做哪里不对吗???是不是在UDP下,这个网络助手只能作为客户端而不能是服务器呢???

作者: 希望缄默    时间: 2017-3-7 08:44
System_flush() 只对 System* 函数有效

准确地讲 UDP 并没有服务器客户端的区分  UDP 是无连接的
作者: 泉婷儿    时间: 2017-3-7 08:46
希望缄默 发表于 2017-3-7 08:44
System_flush() 只对 System* 函数有效

准确地讲 UDP 并没有服务器客户端的区分  UDP 是无连接的 ...

请问,您的意思是,PC和DSP两端不管是谁,有数据就能接收到吗???
作者: 泉婷儿    时间: 2017-3-7 08:58
希望缄默 发表于 2017-3-7 08:44
System_flush() 只对 System* 函数有效

准确地讲 UDP 并没有服务器客户端的区分  UDP 是无连接的 ...

可是,我在测试NDK_UDP工程时,只有网络助手给DSP发送了字符后,DSP再给PC发送数据时,PC才能收到数据啊




欢迎光临 嵌入式开发者社区 (https://51ele.net/) Powered by Discuz! X3.4