还是socket编程问题,UDP多线程接收
我在用UDP传输数据,一个服务器端、多个客户端,客户端发送数据不定时,长度不固定,有可能同时有多个客户端在像服务器端发送数据,server接收到数据后需要对数据进行处理,这个耗时有点长,可不可以设计成,服务器端接收到udp包后就新建一个线程对接收到的数据进行处理,然后同时又开始接收新的数据?
或者调用recv方法接收端收到数据后,,将包接收后存入一个缓冲区,然后迅速返回继续recv。
这个存入缓冲区怎么实现呢?最好附一下这个缓冲区设计操纵的代码,
[解决办法]
可以采用多线程
[解决办法]
服务端设计成多线程,一个接收线程,一个处理线程,采用production&consumer模式建立。这样处理最快
[解决办法]
楼上的有道理
[解决办法]
创建线程池,每个线程都监听server套接字,除了会惊群以外是完全安全的,memcached的UDP就是i这么做的。
[解决办法]
哪用那么复杂,单独开个线程 ,windows下用完成端口,linux用下epool
[解决办法]