Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets C++;Winsock非阻塞/异步UDP套接字 我在C++上开发了一个数据处理器,在UDP套接字上开发,并且有一个线程(一个,并且除了插槽)处理从它们接收到的信息。_Sockets_Asynchronous_Udp - Fatal编程技术网

Sockets C++;Winsock非阻塞/异步UDP套接字 我在C++上开发了一个数据处理器,在UDP套接字上开发,并且有一个线程(一个,并且除了插槽)处理从它们接收到的信息。

Sockets C++;Winsock非阻塞/异步UDP套接字 我在C++上开发了一个数据处理器,在UDP套接字上开发,并且有一个线程(一个,并且除了插槽)处理从它们接收到的信息。,sockets,asynchronous,udp,Sockets,Asynchronous,Udp,当我需要同时从套接字中的多个客户端接收信息时,就会出现问题 我怎样才能做到: Socket foo; /* init socket vars and attribs */ while (serving){ thread_processing(foo_info); } < C++ > 中多客户端(多并发访问)< > 我在win32上使用winsocks atm,但只需让标准的阻塞udp套接字工作即可。没有gui,它是一个控制台应用程序。 我将非常感谢您提供一个示例或一个指针;) 提前感谢。我建议

当我需要同时从套接字中的多个客户端接收信息时,就会出现问题

我怎样才能做到:

Socket foo;
/* init socket vars and attribs */
while (serving){
thread_processing(foo_info);
}
< C++ >

中多客户端(多并发访问)< > 我在win32上使用winsocks atm,但只需让标准的阻塞udp套接字工作即可。没有gui,它是一个控制台应用程序。 我将非常感谢您提供一个示例或一个指针;)


提前感谢。

我建议最好将请求放入队列中,让另一个线程从队列中退出。这将使套接字接收与进程分离,因此,如果您的需求发生变化,您可以扩展到更多侦听器和处理线程。

UDP套接字能够使用此功能从多个客户端接收数据报。只需拦截接收、读取请求、处理请求、发送回复,然后重复。您甚至不需要线程,除非处理需要很长的时间(在这种情况下,一个线程连接两个队列,in-和out-可以工作)