我有一个服务器多客户端 udp 应用程序。有一个带有单个套接字 (socket#1) 的单个线程 (thread#1) 可以连续接收来自 client#1 的数据。这个接收线程的任务是在它的套接字上不断地接收数据。
我在服务器应用程序 GUI 上有一个按钮,上面写着“向 Client#1 发送数据”。按下此按钮时,我希望我的接收线程暂停接收并在套接字#1 上发送一些数据,当发送数据时,恢复连续接收。
如何才能做到这一点?如果我什至在按下按钮时 postthreadmessage() ,接收线程不会检查这些发布的消息,因为它总是在 while 循环中接收消息。它如何检查与按下的按钮相对应的已发布消息?
编辑:另一个建议
如果我让我的套接字“事件驱动”怎么办?即,每当套接字上有一些数据可供读取时,就会生成 FD_READ 事件并且我可以在套接字上读取,并且每当我想在套接字上写入一些数据时,我都会生成一个事件 FD_WanttoWrite,然后将数据写入套接字上。类似的事情可能吗?
(我知道 FD_READ,但是当我想在 Socket 上写东西时我不确定 FD_WanttoWrite)