社区
C#
帖子详情
关于UDP的receive问题
broadury
2005-06-11 07:24:20
要实现基于UDP的可靠文件传输.就需要对每一个包都标上序号.将其发送之后还要receive对方的确认信息。但同时需要receive其他主机的请求。这样的话,某一时刻,当接收到一个报文的话,我应该如何处理呢?
如果使用多个线程,每个线程都receive,那会不会被不该接收的线程接收了呢?
应该如何解决呢?
...全文
444
6
打赏
收藏
关于UDP的receive问题
要实现基于UDP的可靠文件传输.就需要对每一个包都标上序号.将其发送之后还要receive对方的确认信息。但同时需要receive其他主机的请求。这样的话,某一时刻,当接收到一个报文的话,我应该如何处理呢? 如果使用多个线程,每个线程都receive,那会不会被不该接收的线程接收了呢? 应该如何解决呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lookie
2005-06-16
打赏
举报
回复
你的设计思想有问题,几个接收线程一起接收,那就天下大乱了。
应该只有一个接收线程接收,这是主线程,当接收到一个请求后,新建一个线程进行处理。原来的接收进程继续接收。这样就行了。
broadury
2005-06-11
打赏
举报
回复
我也想,但是我们要做网络作业.要求就是用udp实现的.郁闷
dazhu2
2005-06-11
打赏
举报
回复
你用tcp不是更好控制,采用异步
siugwan
2005-06-11
打赏
举报
回复
gz
broadury
2005-06-11
打赏
举报
回复
但是每一个线程需要判断发送超时,这是通过接收超时来实现的。所以,每一个线程都需要receive,这样的话,就不能只用一个线程接收了
ivorstar
2005-06-11
打赏
举报
回复
可以模仿Tcp的控制机制啊,或者更简单的:在你的应用层协议建立连接时,让接收和发送端商定一个值,在每一个数据报的报头都加入这个值,但是觉得不能使用多线程receive,处理不好应该会被其他线程误收,可以在程序中维持一个发送线程的列表,但是用一个线程接受所有的确认报文,然后看这个报文对应哪个发送线程。
提供点建议,仅供参考
C#的Socket实现
UDP
协议通信
C#的Socket实现
UDP
协议通信 CSharp
C#各种类型TCP&
UDP
服务器代码
使用Socket实现的异步TCP服务器、同步TCP服务器、异步
UDP
服务器、同步
UDP
服务器 and 使用TcpListener和
Udp
Client实现的异步TCP服务器
MFC中利用CSocket实现
UDP
通信
MFC中利用CSocket实现
UDP
通信
UDP
客户端demo
Android下写的
UDP
客户端通信demo
java
UDP
报文的发送与接收
java
UDP
报文的发送与接收 java
UDP
报文的发送与接收 java
UDP
报文的发送与接收
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章