TTcpServer 和TTcpClient 问题

Maxwell 2004-01-22 03:55:10
请教下面问题,我是新手。环境win98 bcb6.0 update4。分不够可以继续加。


TTcpServer 在调用Close 之后仍然在监听端口,即使delete 掉对象以后仍然在监听,而且再次Open 之后Listening 居然为false,请问这是怎么回事?我应该怎样让TTcpServer 不再监听端口,以及怎样在Open 之后让Listening 为true?
看了TTcpServer 的源码之后猜测可能是TcpServer1->ServerSocketThread 没有结束,再次监听一个已经被占用的端口肯定是不成功的。而且我TcpServer1->ServerSocketThread->WaitFor() 的时候就执行不下去了,难道说只有我在Execute 里面写代码退出的时候才能退出吗?


另外我在OnListening 和OnGetThread 中写的代码并没有被执行,这又是为什么?这两个事件到底在什么时候发生呢?


TTcpClient 如果只Open 不Connect 那么几个客户端有一个退出所有的到Server 的连接都没有了,这又是怎么回事?
TTcpClient 可不可以指定本地的端口,怎么指定?LocalPort 不管用是吧?
...全文
252 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
noproblem12 2004-09-06
  • 打赏
  • 举报
回复
听说可以接分,呵呵
Maxwell 2004-06-21
  • 打赏
  • 举报
回复
说的不是一回事
cjf1009 2004-06-15
  • 打赏
  • 举报
回复
服务器端要监听的吗?
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
这个不是就可以了吗?有客户端的消息就触发了。
welllove88 2004-06-15
  • 打赏
  • 举报
回复
没有的事情 TSocketServer 和 TSocketClient是一直有的 不过要手动安装
ly_liuyang 2004-06-15
  • 打赏
  • 举报
回复
我只用Indy的
那些都不好用兼问题多
Maxwell 2004-05-06
  • 打赏
  • 举报
回复
其实这个问题就是想弄明白是怎么回事,不是想知道有什么可以代替的。
lovinger2000 2004-05-01
  • 打赏
  • 举报
回复
为什么不使用Indy的TIdTCP控件呢,很好用的啊,是阻塞式的
Maxwell 2004-03-14
  • 打赏
  • 举报
回复
to jiangshi99:
那么你后来解决了吗?
lV运用 2004-02-03
  • 打赏
  • 举报
回复
关注
Maxwell 2004-01-30
  • 打赏
  • 举报
回复
有没有人遇到过这种问题呀?
Maxwell 2004-01-27
  • 打赏
  • 举报
回复
我在bcb 版问了好久没有人理,移到这里来希望大家不要见怪。
lgqTiger 2004-01-27
  • 打赏
  • 举报
回复
关注!
constantine 2004-01-23
  • 打赏
  • 举报
回复

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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