SOCKET读写双线程的问题

踏岸寻柳 2005-05-14 04:51:04
同服务器建立了一个SOCKET连接,用了两个线程分别完成读写功能(r_thread、w_thread)。
问题是这样的:
1. 如果只是完成简单的读写功能,程序是没问题的;
2. 如果我在接收数据的时候需要中断(不再需要这部分数据),这个时候就有些问题了:
服务器是允许数据终端输出的(想想UNIX下的终端输出,按下Ctrl+C就不再输出),在r_thread线程我发送中止指令后(一个按键操作,可以认为是Ctrl+C),但是w_thread线程还是有源源不断的数据输出。
如何改进该模式才能够使得我发送中止指令后接收线程较快的中止数据输出呢?
...全文
127 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cai3995 2005-05-17
  • 打赏
  • 举报
回复
Can u disconnect the socket communication immediately by setsockopt()?
ydogg 2005-05-16
  • 打赏
  • 举报
回复
没太看明白,
write数据的来源是?你的write写入数据和read到的数据相关关吗?
为和不能同样送中止指令给write线程呢?
踏岸寻柳 2005-05-14
  • 打赏
  • 举报
回复
我知道还能够收到一部分数据是因为操作系统有个缓冲区,该缓冲区里面有数据。
可是,延迟太久也是不能够让人容忍的。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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