ServerSocket用阻塞方式 如何实现?急急!!!(200分)

  • 主题发起人 主题发起人 bigwu
  • 开始时间 开始时间
B

bigwu

Unregistered / Unconfirmed
GUEST, unregistred user!
Socket+Thread:ServerSocket用阻塞方式,ClientSocket用非阻塞方式时:
1) 是否非得自创一线程对象,如myscThread = class(TserverClientThread)?若是,
那serverSocket.OnGetThread中的var SocketThread: TServerClientThread参数有何用?
bigwu13@163.net
(相关的随后发送)
 
2)我在调试((同一机上几个程序)一简单程序,老是ERROR? Server端read/write一次
后ERROR:停留于TserverClientThread.excute的if endconnect then break行。拙手如下:
有请高手们指点一二(若能否将源码给我一COPY参考?将不胜感激!)
bigwu13@163.net
(相关的随后发送)
 
(续上)
在procedure TForm2.ServerSocket1GetThread中
myscThread1:=myscThread.Create(false,clientSocket);

Tbuffer=array[0..99] of char;

myscThread = class(TserverClientThread)
private
fbuffer:Tbuffer;
procedure disp;
procedure getBuffer;
protected
procedure clientExecute; override;
end;
(相关的随后发送)

 
续上:(由于发送困难,程序——我的出错程序将采用E-MAIL方式发送,拜托各位了!)
 
bigwu:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
不用创一个THREAD
 
在ServerSocket的OnGetThread事件中,你可以用你自己的Thread
对象(应该是TServerClientThread的派生类)代替缺省的
SocketThread对象,方法就是修改变量参数.

如:
procedure TForm2.ServerSocket1GetThread中
...
myscThread1:=myscThread.Create(false,clientSocket);
SocketThread := myscThread1;
...
建议你看看Borland的Delphi Developer's Guide.




 
非常感谢HERMIT的帮助,高手就是有见地! 也佩服其热心!
(本问题时间实在长!)
 
后退
顶部