未
未来107
Unregistered / Unconfirmed
GUEST, unregistred user!
s:= socket(AF_INET,SOCK_STREAM,0); //创建socket句柄
server.sin_port:=htons(strtoint(portlist.Strings[porti])); //端口
if WSAAsyncSelect(S,Form1.handle,WM_SOCKET,FD_ACCEPT or FD_CONNECT or FD_CLOSE or FD_READ or FD_WRITE)=SOCKET_ERROR then
begin
messagebox(application.handle,'无法创建句柄!','警告',MB_OK or MB_APPLMODAL or MB_ICONWARNING);
exit;
end;
//异步socket
connect(s,server,sizeof(server)) ;
当connect连接端口后, 会发送上面的消息 wm_socket,下面是处理该消息的过程
procedure TForm1.SockEvent(var msg : Tmessage); //处理socket消息
begin
case msg.LParam of
FD_CONNECT: begin
dspmsg('端口开放');
//表示对方端口开放
end;
end;
end;
现在的问题是如何知道这个"开放的端口"是多少,也就是说,上面在传递消息的时候如何
传递"端口"值!