关于SOCKET多线程收发包的问题,急,快救命!(200分)

  • 主题发起人 主题发起人 jarm
  • 开始时间 开始时间
J

jarm

Unregistered / Unconfirmed
GUEST, unregistred user!
我要编一个SOCKET的测试程序,实现的目的很简单,只需要在客户端多线程发送数据包,
在服务器端多线程接收数据包,并且对每个线程延时1秒,然后把数据包返回。。。。。。
可是我太菜了,不知道该怎么遍这个程序,求求各位帮帮忙了。。。。。。
(分不够我再加,上限500,只要帮我解决了问题,我绝不吝啬)
 
Socket不是多线程的?

noblock不就行了吗? 我也不知道,我去查查!
 
把ServerSocket的mode设置为threadblocking
写一个类
TTets = class(TServerClientThread)
protected
procedure ClientExecute;override;//
end;

procedure ClientExecute;
begin
利用父亲类中封装的clientsocket和客户端通信就行了

end;

记住,在窗体上访一个TServerSocket空件,在她个ongetthread实践里面创建TEST现成就行了
这是最简单的方法乐
 
在每个线程内创建一个Socket对象。
 
用Delphi的socket控件比较简单,可以看看Delphi的例子聊天室程序。加上自动
回复就可以了。
 
to jamstina兄:
你的方法我试过了,服务器端确实可以正常收发数据包,但当创建了几个线程后就出现了
内存溢出,我已经在线程create时设置了FreeOnTerminate:= TRUE,请问这是怎么回事?
 
是啊,当SERVER TYPE 设置为stThreadBlocking时,如何控制生成的线程数量?

 
还是用TThread加socket写吧,控件太烂了,呵呵
 
谢谢各位,我已经解决了。。。
 
to jarm
给我寄一份好吗?谢谢。
netspur@163.net
 
朋友:
我也想要一分,能给吗?thanks !(freeniexiao@21cn.com).
 
接受答案了.
 
to jarm
我想要一份,能不能给我一份呢?感谢!
evenzaj@sina.com
 
给我一份吧fhqkhnzh@163.com
 
给我一份把qddmh@yahoo.com.cn
 
to jarm
我也想要一份,能不能给我一份呢?感谢!
liuzhaohui_bj@peoplemail.com
 
给我一份如何firstrose@163.net
 
给我一份吧,谢谢了,xhd@16tong.com
 
给我一份吧,xjhsoft@163.com
 
后退
顶部