Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 1
Регистрация: 08.02.2009
Сообщений: 15

Ошибка при создании сокета

10.08.2011, 11:34. Показов 735. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Пытаюсь написать простейшие клиент и сервер для передачи сообщения, но при создании сокета в консоли выводится ошибка socket: Error 0 (и у клиента, и у сервера). Билдер шестой.

Подскажите, пожалуйста - может, нужно что-то ещё подключить. Вот код для сервера:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <winsock2.h>
#include <windows.h>
 
#include <conio.h>
#include <vcl.h>
 
#pragma hdrstop
#pragma argsused
int main()
{
    int sock, listener;
    struct sockaddr_in addr;
    char buf[1024];
    int bytes_read;
 
    listener = socket(AF_INET, SOCK_STREAM, 0);
    
    if(listener < 0)
    {
        perror("socket");
        getch();
        exit(1);
    }
    
    addr.sin_family = AF_INET;
    addr.sin_port = htons(666);
    addr.sin_addr.s_addr = htonl(INADDR_ANY);
    if(bind(listener, (struct sockaddr *)&addr, sizeof(addr)) < 0)
    {
        perror("bind");
        getch();
        exit(2);
    }
 
    listen(listener, 1);
 
    while(1)
    {
        sock = accept(listener, NULL, NULL);
        if(sock < 0)
        {
            perror("accept");
            getch();
            exit(3);
        }
 
        while(1)
        {
            bytes_read = recv(sock, buf, 1024, 0);
 
            if(bytes_read <= 0) break;
            send(sock, buf, bytes_read, 0);
         }
    
 
    }
 
    closesocket(sock);
 
    getch();
    return 0;
}
Добавлено через 2 часа 46 минут
Решение найдено, вот работающий код - может, кому-нибудь пригодится.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//---------------------------------------------------------------------------
#include <stdio.h>
#include <winsock2.h>
#include <windows.h>
 
#include <conio.h>
#include <vcl.h>
 
#pragma hdrstop
#pragma argsused
 
WSADATA ws;//информация о сокете
 
int main()
{
    int sock, listener;
    struct sockaddr_in addr;
    char buf[1024];
    int bytes_read;
 
    //---добавлено---
    if (FAILED (WSAStartup (MAKEWORD( 1,1 ), &ws)))
    {
       printf("Error in WSAStartup(...)\n");
       return 1;
    }
    //----------------
 
    listener = socket(AF_INET, SOCK_STREAM, 0);
    
    if(listener < 0)
    {
        perror("socket");
        getch();
        exit(1);
    }
    addr.sin_family = AF_INET;
    addr.sin_port = htons(666);
    addr.sin_addr.s_addr = htonl(INADDR_ANY);
    if(bind(listener, (struct sockaddr *)&addr, sizeof(addr)) < 0)
    {
        perror("bind");
        getch();
        exit(2);
    }
 
    listen(listener, 1);
    while(1)
    {
        sock = accept(listener, NULL, NULL);
        if(sock < 0)
        {
            perror("accept");
            getch();
            exit(3);
        }
 
        while(1)
        {
            bytes_read = recv(sock, buf, 1024, 0);
 
            if(bytes_read <= 0) break;
            send(sock, buf, bytes_read, 0);
        }
    
        closesocket(sock);
        getch();
    }
    return 0;
}
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2011, 11:34
Ответы с готовыми решениями:

Ошибка при создании COM сервера
Помогите мне!! Мне нужно создать клиент-серверное приложение с помощью СОМ объектов. Я создала СОМ объект, зарегистрировала библиотеку. Но...

Ошибка при создании dll
Первый раз делаю dll (понадобилась для пользовательской функции CDATA() базы Firebird) cdata_.cpp ...

Ошибка при создании проекта
Ошибка выходит при создании нового проекта, но в старых проектах отсутствует. Как решить проблему?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.08.2011, 11:34
Помогаю со студенческими работами здесь

Ошибка при создании GroupBox
Здравствуйте все. У меня динамичиски создаются GroupBox и свойство Caption =Edit2-&gt;Text. все как би работает, но тестируя программу...

Ошибка при создании матрицы
Всем привет! Пытаюсь создать матрицу размером NxM через StringGrid, но выдает ошибку. Помогите пожалуйста! ...

c++builder 6 ошибка при создании файла
Программа не хочет создавать новый файл выдает такой вид ошибки

Ошибка при создании объекта Circle
HMODULE SquareDLL = LoadLibrary(L&quot;square.dll&quot;); VoidSquare GetClassSquare; GetClassSquare =...

Ошибка при создании дочернего компонента
Пытаюсь отрисовать прямоугольник на канве унаследованной от TImage. //...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru