procedure TFrm_Main.Btn_PingerClick(Sender: TObject);
var
Info: string;
SendBuf, RecvBuf: pchar;
MySocket: TSocket;
addr: TSockAddr;
Re: integer;
begin
MySocket := Socket(AF_INET, SOCK_STREAM, 0);
if MySocket = INVALID_SOCKET then
begin
Memo_Info.Lines.Add('错误:建立Socket失败');
exit;
end;
ZeroMemory(@addr, sizeof(addr));
addr.sin_family := AF_INET;
addr.sin_addr.S_addr := inet_addr(pchar(Edit_ServerName.Text));
addr.sin_port := htons(79);
Re := Connect(MySocket, addr, sizeof(addr));
if Re <> 0 then
begin
Memo_Info.Lines.Add('连接服务器失败!');//这个地方连接失败
exit;
end;
GetMem(SendBuf, 1024);
ZeroMemory(SendBuf, 1024);
info := Edit_User.Text + #10;
StrPCopy(SendBuf, Info);
Re := Send(MySocket, SendBuf^, Length(SendBuf), 0);
if Re = SOCKET_ERROR then
begin
Memo_Info.Lines.Add('发送数据失败!');
exit;
end;
GetMem(RecvBuf, 1024);
repeat
ZeroMemory(RecvBuf, 1024);
Re := Recv(MySocket, RecvBuf^, 1024, 0);
Info := StrPas(RecvBuf);
Memo_Info.Lines.Add(Info);
until Re = 0;
Memo_Info.Lines.Add('结束');
FreeMem(SendBuf);
FreeMem(RecvBuf);
CloseSocket(MySocket);
end;//我输入我自己机器的IP和局域网其他机器的IP都显示连接失败,这是为什么?
var
Info: string;
SendBuf, RecvBuf: pchar;
MySocket: TSocket;
addr: TSockAddr;
Re: integer;
begin
MySocket := Socket(AF_INET, SOCK_STREAM, 0);
if MySocket = INVALID_SOCKET then
begin
Memo_Info.Lines.Add('错误:建立Socket失败');
exit;
end;
ZeroMemory(@addr, sizeof(addr));
addr.sin_family := AF_INET;
addr.sin_addr.S_addr := inet_addr(pchar(Edit_ServerName.Text));
addr.sin_port := htons(79);
Re := Connect(MySocket, addr, sizeof(addr));
if Re <> 0 then
begin
Memo_Info.Lines.Add('连接服务器失败!');//这个地方连接失败
exit;
end;
GetMem(SendBuf, 1024);
ZeroMemory(SendBuf, 1024);
info := Edit_User.Text + #10;
StrPCopy(SendBuf, Info);
Re := Send(MySocket, SendBuf^, Length(SendBuf), 0);
if Re = SOCKET_ERROR then
begin
Memo_Info.Lines.Add('发送数据失败!');
exit;
end;
GetMem(RecvBuf, 1024);
repeat
ZeroMemory(RecvBuf, 1024);
Re := Recv(MySocket, RecvBuf^, 1024, 0);
Info := StrPas(RecvBuf);
Memo_Info.Lines.Add(Info);
until Re = 0;
Memo_Info.Lines.Add('结束');
FreeMem(SendBuf);
FreeMem(RecvBuf);
CloseSocket(MySocket);
end;//我输入我自己机器的IP和局域网其他机器的IP都显示连接失败,这是为什么?
解决方案 »
- 200分求C++翻译成Delphi
- 怎么将这两句整合在一起???
- sql数据库的连接问题
- 怎样把新建的控件加入到新建一栏中,就象quickreport一样?
- 郁闷ing,送分!
- 关于unicode的编码?
- 我的幼稚理解对不对?三层结构就是:把数据库放在一台PC上,把服务器连接放在一台PC上,再把Client连接放在一台计算机上?
- 用Locate进行查找遇到的问题?
- 如何控制Delphi的AutoCommit行为?
- 求救!关于TWordApplication 等控件的相关用法
- !!!在线等待一个关于日期的函数。已知一个日期,如何获取下一天日期??
- 如何获得本机的“计算机名称”“工作组”“当前IP”?
帮你顶,
你单步跟踪试试