Пример открытия сокета

306
19 декабря 2016, 19:58

Добрый день, можете мне привести в качестве примера листинг кода c++, чтобы открывался сокет к сайту "example.com" по порту 716, допустим. А то вообще не могу разобраться.

P.S. Заранее спасибо.

Answer 1
// получить данные о сервере
    ulAddress = inet_addr(adrs);
        if (ulAddress == INADDR_NONE){
            ptrHost = gethostbyname(adrs);
          if (!ptrHost)
            {
                err=WSAGetLastError();
                return err;
            }
            memcpy(&sin.sin_addr, ptrHost->h_addr_list[0], sizeof(IN_ADDR));
        } else {
            memcpy(&sin.sin_addr, &ulAddress, 4);
        }
        sin.sin_family = AF_INET;
        sin.sin_port   = htons(port);
// установить соединение с сервером
       if ( connect(s, (PSOCKADDR)&sin, sizeof(SOCKADDR)))
        {
         err=WSAGetLastError();
         return err;
        }

adrs это LPCTSTR строка "example.com", port это int port=716; Кроме того надо предварительно:

rc = WSAStartup(MAKEWORD(1, 1), &WSAData);
... 
// открыть сокет
s = socket(AF_INET, SOCK_STREAM, NULL);
if (s == INVALID_SOCKET){...

(просто у меня все в разных функция, не стал все копировать-вставлять) После коннекта можно отправлять-получать данные

READ ALSO
Как на Си передать информацию от микроконтроллера на COM- порт?

Как на Си передать информацию от микроконтроллера на COM- порт?

Добрый вечерЗанимаюсь изучением программирования микроконтроллеров АВР, и столкнулся с вопросом передачи данных от микроконтроллера на ПК через...

370
Расстояние между строками. Qt QPainter::drawText

Расстояние между строками. Qt QPainter::drawText

Здравствуйте! Вывожу текст на печать через QPainter::drawTextПодскажите как можно изменить интервал между строками

436
Компиляция программы

Компиляция программы

Есть исходник программы управления устройством через USB (микроконтроллер Attiny45)

316
Java socket: зависает соединение

Java socket: зависает соединение

Пишу код на Java, код прикреплю ниже, там же комментарии в местах, где зависает соединениеПо документации в c =in

384