Конференция "Сети" » Winsock - не удается послать сообщение от сервера клиенту [D7, WinXP]
 
  • bodun (24.09.09 01:30) [0]
    Работаю с клиентом в процедуре:

     s := Sock;
     if s = invalid_socket then exit;
     vsize := sizeof(tsockaddr);
     getpeername(s, SockName, vsize);
     writeln('client accepted, remote address',inet_ntoa(SockName.sin_addr));
     vsize := sizeof(bufsize);
     getsockopt(s,sol_socket,so_rcvbuf,pchar(@bufsize),vsize);
     writeln('receive buffer size ',bufsize);
     setlength(abuf,bufsize);
     repeat
       vsize := recv(s,abuf[0],bufsize,0);
       if vsize<=0 then break;
       setlength(vbuf,vsize);
       lstrcpyn(@vbuf[1],@abuf[0],vsize);
       GetCommand(vbuf,s); <------ Тут вызывается функция
     until vbuf = 'q';
     writeln('client disconnected, remote address ',inet_ntoa(SockName.sin_addr));
     setlength(abuf,0);
     closesocket(s);



    Вызывается функция GetCommand(vbuf,s); где следующих код должен послать сообщение:
    if send(s,buf[1],length(buf),0)=socket_error then
       WriteLn('Error') else WriteLn('Ok');


    Пишет что ошибки не было, но к клиенту данные не приходят((
  • Сергей М. © (24.09.09 08:18) [1]

    > Sock


    Что находится в этой переменной ?
 
Конференция "Сети" » Winsock - не удается послать сообщение от сервера клиенту [D7, WinXP]
Есть новые Нет новых   [134437   +29][b:0][p:0.001]