【发布时间】:2014-04-26 14:54:07
【问题描述】:
我想在 linux 中使用 TCP 和 UDP 套接字进行两种通信。思路如下。这是一种传感器网络。
服务器端
while 循环 (
(1)检查是否有传入的TCP控制消息 如果是,根据控制消息更新系统
在所有其他时间,继续发送垃圾邮件 UDP 消息
)
客户端
而(
继续接收UDP广播消息
一旦收到 100 条 UDP 消息,它必须向服务器发送 TCP 控制消息
)
(1) 部分是我唯一无法解决的地方。我发现如果我在(1)部分使用带有select()的非阻塞TCP套接字短时间间隔,系统很快就会返回0并且没有收到控制消息。要么我会为选择设置一个长间隔,但它会阻塞线路并且UDP消息无法将其发送出去。我希望UDP消息有效发送,前提是服务器也可以随时注意到客户端TCP控制消息。
谁能给我一些关于(1)部分的提示。
【问题讨论】: