serversocket服务端如何允许多客户端访问(100分)

  • 主题发起人 主题发起人 cfm723
  • 开始时间 开始时间
C

cfm723

Unregistered / Unconfirmed
GUEST, unregistred user!
一个clientserver客户端和一个serversocket服务器端,把客户端分发到两台机上,
但不能同时访问服务器端,serversocket服务端如何允许多客户端访问。
 
不可能,一定设置有误,IP,PORT对不对[^]
 
如果一个ClientSocket的请求能在很短的时间内处理完,SERVERSOCKET就可以支持
多客户端访问,如果不能在很短的时间处理完,那就用线程模式,一个连接一个线
程,具体DFW里有很多例子可以参考,
 
DFW是什么东东?
 
DFW就是 大富翁 啊
 
如何用线程啊,举个例子说明下得吗。
 
?????????????????????
 
??????????????????
 
??????????????????????????????
 
前一个问题是你设置有问题,
关于线称,例子:
procedure TServerThread.ClientExecute;
var
Buffer : array[0..299] of Char;
Number : Integer;
begin
while (not Terminated) and (Socket.Connected) do
begin
try
if SocketStream.WaitForData(2000) then
begin
FillChar(Buffer, SizeOf(Buffer), 0);
Number := SocketStream.Read(Buffer, SizeOf(Buffer));
if Number < SizeOf(Buffer) then
begin
Stream.Write(Buffer, Number);
Synchronize(CallOnCommandReceive);
end
else
begin
Stream.Write(Buffer, Number);
end;
end;
except //当连接断开时可能有except
Socket.Close;
Terminate;
//HandleException;
end;
end;
end;

//ServerSocket的OnGetThread事件代码
procedure Form1v.ServerSocketGetThread(Sender : TObject;
ClientSocket : TServerClientWinSocket;
var SocketThread : TServerClientThread);
var
ServerThread : TServerThread;
begin
ServerThread := TServerThread.Create(true, ClientSocket);
SocketThread := ServerThread;
ServerThread.Resume;
end;
 
后退
顶部