Winsock2怎么得到本地端口 我写 Addr.sin_port := htons(0); 之后 会分一个端口给他 用什么函数能得到这个端口呢 ?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 getsockname怎么用阿 我还是个新手啊.. 我会了我会了 答案公布一下 。 这样的 。var ... Addr: TSockAddrIn; AddrLen: integer; ...begin ... addrlen:=sizeof(addr); getsockname(mysocket,@addr,addrlen); showmessage(htons(addr.sin_port));end; var WSADat: TWSAData; sd: TSocket; Sockaddr: Tsockaddr; Addr: TSockAddrIn; Addr_Len: Integer;begin if WSAStartup(WINSOCK_VERSION,WSADat) <> 0 then Exit; Sd := WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, Nil, 0, 0); if Sd = INVALID_SOCKET then begin WSACleanup; Exit; end; Sockaddr.sin_family := AF_INET; Sockaddr.sin_port := htons(0); Sockaddr.sin_addr.S_addr := ADDR_ANY; if bind(Sd,@Sockaddr, sizeof(TSockAddr)) <> 0 then begin closesocket(Sd); WSACleanup; Exit; end; Addr_Len := sizeof(TSockAddrIn); if getsockname(Sd, Addr, Addr_Len) <> 0 then begin closesocket(Sd); WSACleanup; Exit; end; ShowMessage(IntToStr(ntohs(Addr.sin_port))); CloseSocket(Sd); WSACleanup;end; Delphi中public与publish域的差异 各路高手:请帮看看下面的代码有没有问题,谢谢! 江苏*常州 程序员工整调查 有关输入法的问题,请各位大侠帮我参谋。 求语音解决方案,计划开发一个程序,功能:接收到语音输入后能以文字的形式输出。 如何旋转CHART 菜鸟级问题 有没有什么方法可以让panel具有滚动条??? [如何度过编程的低迷期,想必大家都有这样经历] 有谁用过addflow控件,能不能交流? 大家有没见过用dephi的博士? 怎样在程序运行前(或者刚开始运行时)获取到该程序的完整路径、文件名及运行时的进程句柄,然后阻止指定程序的运行,如果已经运行则强制结束。
这样的 。
var
...
Addr: TSockAddrIn;
AddrLen: integer;
...
begin
...
addrlen:=sizeof(addr);
getsockname(mysocket,@addr,addrlen);
showmessage(htons(addr.sin_port));
end;
WSADat: TWSAData;
sd: TSocket;
Sockaddr: Tsockaddr;
Addr: TSockAddrIn;
Addr_Len: Integer;
begin
if WSAStartup(WINSOCK_VERSION,WSADat) <> 0 then Exit;
Sd := WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, Nil, 0, 0);
if Sd = INVALID_SOCKET then begin
WSACleanup;
Exit;
end; Sockaddr.sin_family := AF_INET;
Sockaddr.sin_port := htons(0);
Sockaddr.sin_addr.S_addr := ADDR_ANY;
if bind(Sd,@Sockaddr, sizeof(TSockAddr)) <> 0 then begin
closesocket(Sd);
WSACleanup;
Exit;
end;
Addr_Len := sizeof(TSockAddrIn);
if getsockname(Sd, Addr, Addr_Len) <> 0 then begin
closesocket(Sd);
WSACleanup;
Exit;
end;
ShowMessage(IntToStr(ntohs(Addr.sin_port)));
CloseSocket(Sd);
WSACleanup;
end;