Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Потоковое видео H264 Столкнулся со следующей проблемой: от DVR с подлючёнными к нему камерами получаю по средствам API некие кадры. Эти кадры идут пакетами разного размера (сначала 17Кб потом несколько по 4-7КБ). Преобразовать как либо в видео данные кадры не получается. Если же это поток H264, то как мне собрать его и транслировать к примеру для VLC Player. https://www.cyberforum.ru/ cpp-networks/ thread1073904.html C++ Простой авторитетный сервер DNS
Здравствуйте, уважаемые форумчане! Понимаю, что, возможно, у всех сейчас дела, но прошу помощи, потому что горит сдача программы Сижу уже второй месяц, но никак не могу придумать реализацию. Задача стоит следующая: необходимо написать на С++ авторитетный DNS-server с использованием WinSock, который проверяется стандартным клиентом типа nslookup. Реализация полностью на локальной машине, зона...
C++ C++ и WiFi https://www.cyberforum.ru/ cpp-networks/ thread1070817.html
Подскажите пожалуйста с помощью каких библиотек можно работать с WiFi?
C++ Программа на java. Построении TCP -соединений для взаимодействия между процессами программ Клиента и Сервера Вот лаба , помогите сделать Лабораторная работа № 1 ( 4:00 ) Тема: Клиент -серверная взаимодействие посредством сокетов в режиме TCP - соединения Цель: Практическое освоение механизма сокетов. Построении TCP -соединений для взаимодействия между процессами программ Клиента и Сервера в модели " клиент-сервер " Краткие теоретические сведения : Существует две модели взаимодействия между... https://www.cyberforum.ru/ cpp-networks/ thread1070730.html
C++ Список устойств в домашней сети
С помощью какой функции или связки функций можно получить список устройств которые на данный момент времени присутствуют в твоей (домашней) сети Может быть я не правильно ставлю вопрос но под устройствами я имею ввиду например телевизор (с DLNA примочкой) который в данный момент времени включен и ждёт когда с ним будет работать медиасервер установленный на компьютере Информация об...
C++ Удаленный однострочный редактор https://www.cyberforum.ru/ cpp-networks/ thread1070255.html
Всем доброго времени суток, нуждаюсь в помощи... Вот задание лабы - Задание 1. Разработать TCP-сервер, создающий сокет, привязывающий его к локальному IP-адресу и порту и прослушивающий соединения клиентов. Номер порта и IP-адрес вводить с клавиатуры. IP-адрес задавать в десятично-точечной нотации. Учесть, что функция accept возвращает новый дескриптор сокета, соответствующий принятому...
C++ Открытие портов для программы Я знаю, что это реализовано в Skype, в торрент-клиентах и для написания клиент-серверной программы мне хотелось бы узнать, каким образом можно открывать порт на время выполнения программы? Добавлено через 1 час 52 минуты И еще, хотелось бы узнать, можно ли каким-либо образом реализовать обмен данными между двумя устройствами по сети, но при этом если у одного из них нету открытых портов (само... https://www.cyberforum.ru/ cpp-networks/ thread1067286.html Клиент-сервер, выполнение арифметических операций C++
Клиентская программа оправляет на сервер пару целых чисел a и b, а также символ арифметической операции «+», «-», «*», «/» (числа и знак операции задаются через пользовательский интерфейс клиента), а сервер возвращает результат выполненной арифметической операции. Если происходит деление на 0, то сервер возвращает сообщение об ошибке «Divide overflow». клиент...
C++ Подскажите что бы по читать по С++ и сети https://www.cyberforum.ru/ cpp-networks/ thread1063075.html
Знаю нормально С++ вот только некогда не использовал там с сетями какую библиотеку использовать лучше всего да и вообще не представляю просто как можно взаимодейстовать например чат- пользователь - пользователь или же например как взаимодействовать с веб страницой,например перейти на страницу и заполнить там что то ну разние манипуляции имею в виду Добавлено через 26 минут хотя я наверно не...
C++ Перестает "работать" сервер при повторном подключении клиента Здравствуйте! Я совершенно недавно начал изучение С++ по этому столкнулся с проблемой которую не осилил. Вообщем наш препод задал написать сервер-клиент. Клиент отсылает переменную x со случайным значением в диапазоне на сервер n раз. Сервер это значение принимает и выполняет расчет по формуле f=cos(x)*sin(x), а результат отсылает обратно на клиент. Клиент полученные с севера значения... https://www.cyberforum.ru/ cpp-networks/ thread1061776.html
FTP-client на Socket API C++
Здравствуйте. Решил написать простенький FTP-клиент, всё получилось, кроме команды RETR. При получении файла приходит больше байт, чем надо. Сокеты создаются с параметром SOCK_STREAM. Вот небольшой кусок функции, которая сохраняет файл на стороне клиента, подскажите хотя бы алгоритм решения данной задачи int fd = open(file,O_WRONLY | O_CREAT); if (fd>0) { do { char buff; int...
C++ Совмещение winsock и forms https://www.cyberforum.ru/ cpp-networks/ thread1060923.html
Уважаемые форумчане, объясните мне пож
14 / 14 / 5
Регистрация: 05.10.2011
Сообщений: 223
0

Ping до хоста. Winsock. rawSocket. Пингует 1 раз, потом не работает - C++ - Ответ 5652765

17.01.2014, 14:27. Показов 2184. Ответов 5
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех!
Пишу программу для пингования хоста в локальной сети.
Нашел код тут. Вроде все рабочее. Программа запускается. Но не работает. Сначала проблема была с доступом к rawSocket. Оказалось запускаю без админских прав. Хорошо, запустил от администратора, вроде работает.
НО, тут встретился с такой проблемой, при запуске, и отправке первого ICMP запроса, без проблем приходит ответ. Отправляем ping еще раз, ответ, превышен интервал ожидания.
Вот код:
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
void CMFCPingDlg::OnBnClickedButton1()
{
    SOCKET rawSocket;
    LPHOSTENT lpHost;
    struct sockaddr_in sDest;
    struct sockaddr_in sSrc;
    DWORD dwElapsed;
    int iRet;
    CString str;
 
    WSADATA wsd;
    if (WSAStartup(MAKEWORD(2,2), &wsd) != 0)
    {
        AfxMessageBox("Can't load WinSock");
        return;
    }
 
    // Create socket (Создание сокета)
    rawSocket = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
    if (rawSocket == SOCKET_ERROR) 
    {
        AfxMessageBox("Socket error");
        return;
    }
    
    // Lookup host (Поиск хоста)
    char strHost[255];
    edHost.GetWindowText(strHost, 255);
    lpHost = gethostbyname(strHost);
    if (lpHost == NULL)
    {
        AfxMessageBox("Host not found");
        return;
    }
    
    // Socket address (Адрес сокета)
    sDest.sin_addr.s_addr = *((u_long FAR *) (lpHost->h_addr));
    sDest.sin_family = AF_INET;
    sDest.sin_port = 0;
 
    str.Format("Pinging %s [%s]",
            strHost, inet_ntoa(sDest.sin_addr));
 
    lMessages.AddString(str);
 
    // Send ICMP echo request (Посылка эхо-запроса ICMP)
    static ECHOREQUEST echoReq;
 
    echoReq.icmpHdr.Type    = ICMP_ECHOREQ;
    echoReq.icmpHdr.Code    = 0;
    echoReq.icmpHdr.ID  = 0;
    echoReq.icmpHdr.Seq = 0;
    echoReq.dwTime = GetTickCount();
    FillMemory(echoReq.cData, 64, 80);
    echoReq.icmpHdr.Checksum = CheckSum((u_short *)&echoReq,
            sizeof(ECHOREQUEST));
 
    // Send the echo request (Отправка эхо-запроса)
    sendto(rawSocket, (LPSTR)&echoReq, sizeof(ECHOREQUEST),
        0, (LPSOCKADDR)&sDest, sizeof(SOCKADDR_IN));   
 
    struct timeval tVal;
    fd_set readfds;
    readfds.fd_count = 1;
    readfds.fd_array[0] = rawSocket;
    tVal.tv_sec = 1;
    tVal.tv_usec = 0;
 
    iRet=select(1, &readfds, NULL, NULL, &tVal);             // тут идет проверка на состояние сокета, она решает приходит ICMP ответ или нет
 
    if (!iRet)
    {
        lMessages.AddString("Request Timed Out");
    }
    else
    {
        // Receive reply (Получение ответа)
        ECHOREPLY echoReply;
        int nRet;
        int nAddrLen = sizeof(struct sockaddr_in);
 
        // Receive the echo reply
        iRet = recvfrom(rawSocket, (LPSTR)&echoReply,   
            sizeof(ECHOREPLY), 0, (LPSOCKADDR)&sSrc, &nAddrLen);
 
        if (iRet == SOCKET_ERROR) 
            AfxMessageBox("Recvfrom Error");
 
        // Calculate time (Расчет времени)
        dwElapsed = GetTickCount() - echoReply.echoRequest.dwTime;
        str.Format("Reply from: %s: bytes=%d time=%ldms TTL=%d", 
                inet_ntoa(sSrc.sin_addr), 64, dwElapsed,
                echoReply.ipHdr.TTL);
        lMessages.AddString(str);
    //}
    
    iRet = closesocket(rawSocket);
    if (iRet == SOCKET_ERROR)
        AfxMessageBox("Closesocket error");
    
    WSACleanup();
}


Вернуться к обсуждению:
Ping до хоста. Winsock. rawSocket. Пингует 1 раз, потом не работает C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2014, 14:27
Готовые ответы и решения:

ping пингует nmap не хочет
всем день добрый. есть хост 192.168.0.101 - виртуал бокс, пингуется C:\Users\Admin>ping...

Проверить наличие удаленного хоста в сети (ping)
Здравствуйте. Собственно, нужно как-то из программы пингануть ip-адрес (или какими-то способами...

Периодический опрос хоста и вывод на экран времени и Ping
Дамы и господа. Что же может дать такая команда и для чего она нужна ? Спасибо. for /l %i in...

Программа проверки Ping(winsock, ICMP, boost c++)
Делаю все в Dev c++:- if(connect(Connect, (SOCKADDR*)&Client, sizeof(Client))) { ...

5
17.01.2014, 14:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2014, 14:27
Помогаю со студенческими работами здесь

Несколько раз появляется синий экран потом компьютер работает нормально
Периодически появляется синий экран, через 1-2 мин после включения компьютера, проблема 2-й день,...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru