比如将 127.0.0.1 端口:8000 转换成 sockaddr_in
解决方案 »
- 用SHFileOperation进行文件拷贝,出现了一个小问题,请各位大虾们指教,谢谢!!^-^ ^-^ ^-^
- 能教我如何控制Windows Media Player 9.0 OCX控件 播放列表的选择播放吗?
- ExpressQuantumTreeList 4安装好后,启动 delphi6或delphi7都提示什么包错,没法用,只好卸了,哪位能给我解决吗?3Q
- 明日交东西.急死我了.帮我呀.
- 请帮我看看
- socket 问题,高手请关注!
- delphi 字符串问题(在线)//
- 不明白!
- 想当程序员的我
- 急!急!急!DEPHI的调试问题,送分!
- delphi子窗体载入本地文本的问题
- 如何判断pagecontrol下的TabSheet是否打开还是关闭
function Addrin(IP:string;port:Word):TSockAddrIn;
var
SockAdd_In : TSockAddrIn;
begin
SockAdd_In.sin_family := PF_INET;
SockAdd_In.sin_port := htons(port);
SockAdd_In.sin_addr.S_addr :=ntohl(inet_addr(PAnsiChar(IP)));
//结果总是不对啊!!!
end;
Funct
var
car:sockaddr_in;
begin
car:=BindAddrin('127.0.0.1','8000');
ShowMessage(inet_ntoa(car.sin_addr));
ShowMessage(IntToStr(ntohs(car.sin_port )));
end;
测试了,地址总是不对
SockAdd_In.sin_addr.S_addr :=inet_addr(PAnsiChar(IP));另外请注意delphi的版本, 如果高版本的(delphi2009以上)用下面的
SockAdd_In.sin_addr.S_addr :=inet_addr(PAnsiChar(AnsiString(IP)));
{$R *.dfm}
function BindAddrin(IP:PAnsiChar):TSockAddrIn;
var
SockAdd : sockaddr_in;
begin
SockAdd.sin_family := AF_INET;
SockAdd.sin_addr.S_addr :=inet_addr(PAnsiChar(AnsiString(IP)));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
src:sockaddr_in ;
begin
src:=BindAddrin('127.0.0.1');
ShowMessage(String(StrPas(inet_ntoa(Src.sin_addr))));
end;//早就试过了,不对。
如果楼主程序是这么写的话 应该是 function 函数里 少一句 Result := SockAdd;
其他没什么错误