Вниз
Скачать: CL | DM;

не работает запрос по TCP   Найти похожие ветки 

← →
Ыфь86   (2010-03-14 11:51) [0]

Валится на connect, хотя putty с теми же параметрами спокойно подключается.
Function SendRequest(Request:string; Port:integer; const IP:string):string;
var
 sockfd, portno, n:integer;
 serv_addr:sockaddr_in;
 server:Phostent;

begin
 portno := Port;
 sockfd := socket(AF_INET, SOCK_STREAM, 0);
 if (sockfd < 0) then
    raise Exception.Create("ERROR opening socket");
 server := gethostbyname(PChar(IP));
 if (server = nil) then
   raise Exception.Create("ERROR, no such host");
 ZeroMemory(@serv_addr,sizeof(serv_addr));
 serv_addr.sin_family := AF_INET;
 CopyMemory(@serv_addr.sin_addr.s_addr,server.h_addr,server.h_length);
 serv_addr.sin_port := htons(portno);
 if (connect(sockfd,serv_addr,sizeof(serv_addr)) < 0) then
   raise Exception.Create("ERROR connecting");
 n:=send(sockfd,Request[1],Length(Request),0);
 if (n < 0) then
   raise Exception.Create("ERROR writing to socket");
 ZeroMemory(@buffer[0],65535);
 n:=recv(sockfd,buffer[0],65535,0);
 Result:="";
 if (n > 0) then begin
   SetLength(Result,n);
   CopyMemory(@Result[1],@buffer[0],n);
 end;
 closesocket(sockfd);
end;


← →
Ыфь86   (2010-03-14 14:50) [1]

IP это 127.0.0.1 и еще localhost пробовал.
А судя по показаниям сетевого монитора соединение устанавливается с 156.138.58.0
ничего не понимаю...


← →
Anatoly Podgoretsky ©   (2010-03-14 15:36) [2]

Если ты уверен, что ИП=127.0.0.1 то у тебя вирус.


← →
Ыфь86   (2010-03-14 15:59) [3]

В putty я тоже 127.0.0.1 ввоожу и все норм.
Первым делом подумал на свою ошибку... Потом на вирус, если я использую любой IP то всегнда стучится на 156.138.58.0, если указываю каком нибудь хост, то несколько вариантов IP получается вида: X.139.58.0
Что это может быть за вирус и как его вычислить?
Гугл как-то не выдает ничего в тему...


← →
Anatoly Podgoretsky ©   (2010-03-14 16:14) [4]

> Ыфь86  (14.03.2010 15:59:03)  [3]

Это шлюз Макдоналдса


← →
oldman ©   (2010-03-14 16:19) [5]

IP Information - 156.138.58.0
Country United States  
Country Code US
Region Ohio
City Columbus
Postal Code 43215
Latitude 39.9653
Longitude -83.0235
Area Code 614
DMA Code 535


← →
@!!ex ©   (2010-03-15 19:15) [6]

Вот здесь проблема:
CopyMemory(@serv_addr.sin_addr.s_addr,server.h_addr,server.h_length);
тут указатель на указатель, поэтому должно быть:
CopyMemory(@serv_addr.sin_addr.s_addr,server.h_addr^,server.h_length);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.051 c
15-1273508224
AKE
2010-05-10 20:17
2010.08.27
Где можно найти программиста на C++?


15-1271140742
brother
2010-04-13 10:39
2010.08.27
Тест на логическое мышление


11-1218148886
cjfan
2008-08-08 02:41
2010.08.27
ошибка компиляции любого демо-проекта


2-1273127792
Riply
2010-05-06 10:36
2010.08.27
Конвертация cpp-файла в obj, понятный для Delphi (RAD 2010)


15-1269540383
MAcKZloy
2010-03-25 21:06
2010.08.27
Построитель отчёта




   Наверх