有关用socket收发消息的问题(100分)

  • 主题发起人 主题发起人 tuiger1
  • 开始时间 开始时间
T

tuiger1

Unregistered / Unconfirmed
GUEST, unregistred user!
各位朋友,我在窗口上建立了一个TClientSocket,但我发现如果我想通过它多次与
网络上一个网址通信时,不能正常运行。我想自己设置一个socket,但不知如何设置
如果我想发消息包后马上接受,该如何做,(是否要用阻塞模式等),总之都不太会用
以前单发消息包还可以,现在要收返回包就不行了,而且要多次试发。
请帮我想想办法,最好能写几行类似的程序,
谢谢
 
我看到ClientSocket。Create(AOwner: TComponent);
不知道这里的AOwner应该写什么?

 
AOwner是容器对象,当容器对象被释放时会自动释放它的子控件。
Just use: ClientSocket.Create(Self); //Self是调用该过程的对象本身
例如: TForm1.Button1Click(Sender:TObject); 这个过程中的Self就是一个TForm1对象

看你的情况是不是网络信息质量太差?
用Indy控件包吧,它自带很多例子的。
 
用阻塞时,你用winsock.select来检查一下,socket中是否有read/write的数据,
发消息包,是write参数,你到Indy源码中看一下它的select是怎么用的就很明白了
 
后退
顶部