Показать сообщение отдельно

не получаеться...
  #4558  
Старый 24.12.2009, 19:55
Admin Derek
Новичок
Регистрация: 20.04.2008
Сообщений: 11
С нами: 9504115

Репутация: 0
Question не получаеться...

объясните что я не так сделал, изучаю сокеты, по книге "Эффективное программирование TCP/IP", но не как не пойму в чём ошибка. процесс останавливаеться на error socket..

код:

Код:
#include <winsock2.h>
#include <iostream>
using namespace std;

int main(void)
{
    struct sockaddr_in local;
    int s;
    int s1;
    int rc;
    char buf[1];
    
    local.sin_family = AF_INET;
    local.sin_port = htons(666);
    local.sin_addr.s_addr = INADDR_ANY;
    
    if((s = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
    {
         cout << "error socket\n";
         return 1;
    }    
    
    if((rc = bind(s, (sockaddr*)&local, sizeof(local))) == SOCKET_ERROR)
    {
          cout << "error bind\n" << errno;
          return 1;      
    }
    if((rc = listen(s, 5)))
    {
          cout << "error listen\n";
          return 1;
    }
    
    if((s1 = accept(s, NULL, NULL)) < 0)
    {
          cout << "error accept\n";
          return 1;
    }
    
    if((rc = recv(s1, buf, 1, 0)) <= 0)
    {
             cout << "error \n";
             return 1;
    }
    cout << "end: " << buf[0];
    return 0;
    
}

Последний раз редактировалось Admin Derek; 24.12.2009 в 20:01..
 
Ответить с цитированием