您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> TClientSocket和TServerSocket的问题

TClientSocket和TServerSocket的问题

来源:网络整理     时间:2016/8/28 23:00:03     关键词:

关于网友提出的“ TClientSocket和TServerSocket的问题”问题疑问,本网通过在网上对“ TClientSocket和TServerSocket的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: TClientSocket和TServerSocket的问题
描述:

服务端一直运行不关闭,客户端运行后连接服务端,然后关闭程序。第一次客户端能连接上服务端,第二次客户端连接不上,第三次客户端又可以连接了
只要我重新运行服务端,连续两次打开客户端,如果两次间隔时间比较近,第二次肯定连接不上,这是什么原因啊
客户端和服务端用TWinSocketStream配合读写数据流


客户端:
  FClientSocket := TClientSocket.Create(nil);
  FClientSocket.ClientType := ctBlocking;
    FClientSocket.Host := AServerIP;
    FClientSocket.Port := STREAM_PORT;
    FClientSocket.Open;
服务端:
  FServerSocket := TServerSocket.Create(nil);
  FServerSocket.ServerType := stThreadBlocking;
  FServerSocket.Port := STREAM_PORT;
  FServerSocket.OnGetThread := ServerSocketGetThread;
  FServerSocket.OnThreadStart := ServerSocketThreadStart;
  FServerSocket.OnThreadEnd := ServerSocketThreadEnd;
  FServerSocket.OnListen := ServerSocketListen;

解决方案1:

留名一下,以后用得着

解决方案2:

indy什么版本?
D7中自带的INDY存在缺陷,INDY10还挺好用。
另外据你的描述应该是代码逻辑的问题,本身你贴出来的这些代码看不出问题的,ServerSocketGetThread的地方跟踪一下,应该就发现问题的。
希望对你有帮助!

解决方案3:

我也有这个问题,困扰好久。。。

解决方案4:

http://download.csdn.net/detail/unearth/6485055  
http://download.csdn.net/detail/unearth/6756399
下这2个例子看下,服务器是线程型,和异步通信,线程型,适合小量的数据,异步中小型

解决方案5:

这说明代码在逻辑控制上有问题,这个仔细看代码应该能够发现问题所在.

解决方案6:

delphi的tcp封装感觉不是完全彻底
服务端使用api可能更可靠些


以上介绍了“ TClientSocket和TServerSocket的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3642057.html

相关图片

相关文章