在Linux如何使用udp协议写聊天程序

oqqShan12345 2012-12-03 09:26:39
要求:
1、怎么样实现并发;
2、当一个客户端发送消息之后,消息要发送到其他客户端不包括自己和服务器端。

老师课程设计的要求,TCP的已经做出来了,但是UDP的一直没有头绪,求大神指教!!

初来乍到,没有多少分,请见谅。。
...全文
414 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilber1202 2012-12-21
  • 打赏
  • 举报
回复
客户端发送到其它客户端?这不变成 P2P 了么?如果上了一定规模,你这客户端受得了啊?而且,既然客户端之间可以通信,要服务端干嘛?
引用 8 楼 oqqShan12345 的回复:
引用 2 楼 wellmikelan 的回复:UDP 服务器无需考虑并发,因为根本就没有连接。记录下所有客户端的 IP 和端口,收到消息后依次发送就 OK 了 如果说我用UDP协议来完成一个聊天室,它要求一个客户端发送消息到服务器端还有除自己以外的客户端,那该怎样完成?
oqqShan12345 2012-12-19
  • 打赏
  • 举报
回复
引用 7 楼 baickl 的回复:
其实UDP的服务器,可以简单的先做一个出来。 读与写的线程要分开,处理消息包的线程要拆开,这样一来三个线程了 另外,客户端与服务器端要有一定的重试机制,以适当增加UDP的稳定性和可靠性, 还要加上UDP穿透的逻辑处理,如果在NAT网,客户端还要定时发送保活连接包,以保证服务器能和客户端能相互发送消息。时间1分钟左右一个即可。 其他的就看需求了。 ……
线程还没学,如果不用线程的话,该怎样解决?
oqqShan12345 2012-12-19
  • 打赏
  • 举报
回复
引用 2 楼 wellmikelan 的回复:
UDP 服务器无需考虑并发,因为根本就没有连接。记录下所有客户端的 IP 和端口,收到消息后依次发送就 OK 了
如果说我用UDP协议来完成一个聊天室,它要求一个客户端发送消息到服务器端还有除自己以外的客户端,那该怎样完成?
baickl 2012-12-17
  • 打赏
  • 举报
回复
UDP要做是好 可靠性高 是个大问题,而且你想一下要怎么解决客户端代理上网的问题 TCP做这些在WINDOWS上尚且不好弄,UDP就更不好弄了。
baickl 2012-12-17
  • 打赏
  • 举报
回复
其实UDP的服务器,可以简单的先做一个出来。 读与写的线程要分开,处理消息包的线程要拆开,这样一来三个线程了 另外,客户端与服务器端要有一定的重试机制,以适当增加UDP的稳定性和可靠性, 还要加上UDP穿透的逻辑处理,如果在NAT网,客户端还要定时发送保活连接包,以保证服务器能和客户端能相互发送消息。时间1分钟左右一个即可。 其他的就看需求了。
oqqShan12345 2012-12-16
  • 打赏
  • 举报
回复
引用 3 楼 biegaoshuwoya 的回复:
- -TCP 都做出来了 UDP 没弄出来?? 你开玩笑哟
额。。udp的并发原理不太明白。。所以没做出来嘛。。。要会做了,也不用到这请教大神啦。。
xengine-qyt 2012-12-07
  • 打赏
  • 举报
回复
有啥区别。没的区别! 都一样!
biegaoshuwoya 2012-12-07
  • 打赏
  • 举报
回复
- -TCP 都做出来了 UDP 没弄出来?? 你开玩笑哟
wilber1202 2012-12-04
  • 打赏
  • 举报
回复
UDP 服务器无需考虑并发,因为根本就没有连接。记录下所有客户端的 IP 和端口,收到消息后依次发送就 OK 了
fdl19881 2012-12-03
  • 打赏
  • 举报
回复
引用 楼主 oqqShan12345 的回复:
要求: 1、怎么样实现并发; 2、当一个客户端发送消息之后,消息要发送到其他客户端不包括自己和服务器端。 老师课程设计的要求,TCP的已经做出来了,但是UDP的一直没有头绪,求大神指教!! 初来乍到,没有多少分,请见谅。。
UDP服务器段就用迭代处理法,读取、处理、读取、处理。设计好协议格式,然后没次服务器收到消息都响应一下

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧