关于网友提出的“ ServerSocket问题,能否在在服务器端取得客户端的端口”问题疑问,本网通过在网上对“ ServerSocket问题,能否在在服务器端取得客户端的端口”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: ServerSocket问题,能否在在服务器端取得客户端的端口
描述: ServerSocket1预计会和n多个ClientSocket1连接
用ServerSocket1.socket.connections[x].sendtext(edit1.Text ) ;语句发送数据给客户端,可是[x]的取值问题始终难以解决
我计划根据客户端的ip和port来区分各个ClientSocket
ip可以用Socket.RemoteAddress取得
可是port怎么办呢
还是另有其他办法实现对客户端的区分呢
解决方案1: 在onClientRead(OnClientConnect,OnClientDisConnect,OnClientWrite)中都可以:
for i := 0 to SvrSck.Socket.ActiveConnections - 1 do
begin
if Serversocket.Socket.Connections[i].Handle=Socket.Handle then
showmessage(Serversocket.Socket.Connections[i].RemoteAddress);
end;
这样可以知道是哪个客户端了
解决方案2: M1.Lines.add(#9'SocketID:'+Inttostr(Socket.SocketHandle)); //试试
以上介绍了“ ServerSocket问题,能否在在服务器端取得客户端的端口”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3758142.html