快帮忙!!!TServerSocket问题

ThinkX 2001-12-18 08:57:34
我在用TServerSocket时,如果把ServerSocket的ServerType改成stThreadBlocking类型,为什么收不到OnClientConnect,当然OnAccept和OnThreadBegin事件还是有的,
最重要的是我想在Server端用SendBuf连续发送不同的数据,如果不用阻塞模式会覆盖掉缓冲区,请问如何才能确保一个缓冲数据发送完成之后再发送下一个,我想用阻塞模式却出现了上面的问题
...全文
61 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
copy_paste 2001-12-18
  • 打赏
  • 举报
回复
stThreadBlocking这不是非阻塞模式!!!
TServerSocket只有非阻塞模式和线程模式
它们的区别在于
1:Accept是否开启一个线程用于Accept
2: Client连接时是否开启一个线程与Client保持连接。
线程模式中有ActiveThread可以访问各个线程的东东,非阻塞模式则无。

OnClientConnect我不太清楚,以后有时间再查(在网吧),你想用OnClientConnect无非也是想使用Client的信息,可以在OnAccep那里做,或OnGetSocket事件中(建立Server的ClientSocket),或OnGetThread(建立Server的ClientThread,ThreadBlock才有).


用stThreadBlocking应该不会覆盖掉缓冲区,它是一个单独的Socket,有自己的send buffer.可能是你其它地方写错了吧。



csz_cmy 2001-12-18
  • 打赏
  • 举报
回复
stThreadBlocking这是非阻塞模式!!!
chinasjj 2001-12-18
  • 打赏
  • 举报
回复
你可以设置两种模式,一种只发不收确认信息,另一种发到client端后由client端返回确认信息,server端收到后发下一个好了。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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