高分求~UDP 通信中的多线程处理

hecker728 2009-04-14 10:18:29
项目需要开发一个服务端程序,用到多线程处理UDP通信。
通信的过程是这样的,通信节点:车载GPS终端,网络中心,现在要开发的服务端程序,web控制端。
车载GPS终端,网络中心之间的通信我不管(由终端设备提供方的服务器程序维护,网络中心作为我的服务端和车载GPS终端之间的桥梁)
现在我要开发的服务端要处理web控制端对车载GPS终端控制指令的数据包,和车载GPS终端发送给我的数据包的接收、解析(判断是何种指令),发送响应指令

车载GPS终端(这里假设上百台),要是同时进行数据传输,数据量比较大。我的服务端要尽量保证不丢包(不要说用TCP,这里连接不是固定的),而且在处理的性能上尽可能做到最好。

多线程应如何设计???以前没有过多线程的经验。请大家帮我分析分析。。给点意见!

分不是问题,不够加!
...全文
138 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hecker728 2009-04-21
  • 打赏
  • 举报
回复
zzxap 2009-04-15
  • 打赏
  • 举报
回复
这个很强大
http://topic.csdn.net/u/20080623/08/4bbd2475-45f1-42e3-a613-16b094759ade.html
hecker728 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 txt_paul 的回复:]
UDP 上位机与下位机通信。 通常有一定的UDP协议。
多线程要那样用???不需要吧。

多开一个线程。目的用于监听端口而已。因为监听的时候是会阻塞的。
UDP 通信是有可能丢包的,所以下位机设计的数据包是有验证码的。就是用来检查是否有数据丢失。而且下位机设计的是循环发送的。即不止发送一次。
[/Quote]
你所说的下位机,就是网络中心转发过来的数据包。在实际中他好像只发送一次。
解析式花时间最长的。。进程优先级如何设置
txt_paul 2009-04-15
  • 打赏
  • 举报
回复
UDP 上位机与下位机通信。 通常有一定的UDP协议。
多线程要那样用???不需要吧。

多开一个线程。目的用于监听端口而已。因为监听的时候是会阻塞的。
UDP 通信是有可能丢包的,所以下位机设计的数据包是有验证码的。就是用来检查是否有数据丢失。而且下位机设计的是循环发送的。即不止发送一次。
hecker728 2009-04-15
  • 打赏
  • 举报
回复
如果自己增加发送请求返回,而且我这里的数据接收都要保证他时间上的顺序。这样会不会对性能优影响。需要缓存首次接收数据的内容和时间。。我最关心的是UDP下的多线程怎么设计,(比如要开辟多少线程,分别处理什么。怎么样对这些线程进行合理的管理),来保证性能????
freewind0521 2009-04-15
  • 打赏
  • 举报
回复
up
hecker728 2009-04-15
  • 打赏
  • 举报
回复
两个线程就够了么,,一个收,一个发??
那解析呢?接收到马上进行解析处理?到底怎么样才能提高性能啊,疑问很多,望高手解答
周药师 2009-04-15
  • 打赏
  • 举报
回复
開一個UDP接受數據的線成
用于實時接受數據,對數據逕行處理!
oyljerry 2009-04-14
  • 打赏
  • 举报
回复
每个线程针对一个客户端建立连接,UDP的话,可以自己增加发送请求返回等,服务端接收到了,就发送一个响应信息,如果没有返回就重发...

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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