征集用API编写基于TCP/IP协议的网络通讯的方案!

ManOfBCB 2006-05-09 10:31:57
如题:

我的方案:

服务器端:系统首先产生一监听线程,用于监听客户端,一旦有客户端联上,则产生一个通讯线程用于通讯,现在的问题是:怎样在主线程中控制发送,同时接收反馈到主线程?
客户端:系统产生一线程用于通讯,同样的在主线程中发送,接收反馈到主线程?

如果可以的话,接收数据时最好采用事件。

谢谢。
...全文
237 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ManOfBCB 2006-05-11
  • 打赏
  • 举报
回复
谢谢
铖邑 2006-05-10
  • 打赏
  • 举报
回复
晕,数据不会丢失,TCP有流控,如果接收太慢,发送端会阻塞或发送失败
pp616 2006-05-10
  • 打赏
  • 举报
回复
收发都可以保证。但是如果发送的太快有可能出现丢包的现象。
那并不是没有收到。数据是肯定收到了,只是因为你处理的不够快,缓冲满了系统把它给丢弃了。
如果出现这种情况可以采用发送端主动做延时,或是等待接收端发送一个确认信号然后再继续发送。
ManOfBCB 2006-05-10
  • 打赏
  • 举报
回复
再问个比较幼稚的问题:
tcp是否保证数据发送出去,对方一定能收到呢?是否需要对方确认呢?
pp616 2006-05-09
  • 打赏
  • 举报
回复
可以超过。
ManOfBCB 2006-05-09
  • 打赏
  • 举报
回复
谢谢pp616(傻小子) ,还有个问题请教:
一次发送是否不能超过4096个字节?
pp616 2006-05-09
  • 打赏
  • 举报
回复
子线程向主线程通讯可以向主线程发送消息。
主线程和子线程通讯:
先给每个通讯子线程建立一个全局数据缓冲区。子线程轮寻缓冲区。如果有数据就发送。
主线程需要子线程发送的时候向对应线程的缓冲区中写数据就可以了。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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