0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 21

Telnet (socket)

09.05.2020, 22:34. Показов 657. Ответов 1

Студворк — интернет-сервис помощи студентам
Здравствуйте, пытаюсь сделать сделать мини-клиент для Telnet, параллельно изучая сокеты. Вот код (часть кода считывания данных взял из книги):
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
<<main.c>>
 
#include "main.h"
 
int read_in(int socket, char *buf, int len)
{
    char *s = buf;
    int slen = len;
    int c = recv(socket, s, slen, 0);
    while((c>0)&&(s[c-1] != '\n'))
    {
        s += c; slen -= c;
        c = recv(socket, s, slen, 0);
    }
    if(c<0)
        return c;
    else if (c==0)
        buf[0] = '\0';
    else 
        s[c-1]='\0';
    return len-slen;
}
 
int main()
{
    int d = socket(PF_INET, SOCK_STREAM, 0);
    struct sockaddr_in name;
    name.sin_family = PF_INET;
    name.sin_port = htons(23);
    name.sin_addr.s_addr = inet_addr("192.168.100.1");
    if(connect(d, (struct sockaddr *) &name, sizeof(name)) < 0)
    {
        printf("Error!\n");
    }
    char buff[1024];
    usleep(100);
    read_in(d, buff, sizeof(buff));
    printf("%s", buff);
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<<main.h>>
 
#ifndef _main_h_
#define _main_h_
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <time.h> 
#endif

Суть проблемы. Клиент подключается к устройству. Иногда сразу выходит без вывода, иногда через 1-2 минуты выходит без вывода или с нормальным выводом. В чем проблема? Встроенный telnet-клиент нормально подключается
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2020, 22:34
Ответы с готовыми решениями:

Меню для Telnet
Доброго времени суток! Подскажите пожалуйста с такой вот проблемой: В прошивке написанной на си делаю что-то вроде интерфейса для Telnet....

Socket и понимание команд от telnet
Доброго всем, есть пример TCP сервера: #include &lt;stdio.h&gt; #include &lt;string.h&gt; //strlen #include &lt;stdlib.h&gt; //strlen ...

Python socket telnet, потоки и ответ сервера
Добрый день всем. Возник вопрос, рассматриваю как общаться с python через telnet, имею код: #!/usr/bin/env python # -*- coding:...

1
724 / 224 / 72
Регистрация: 01.03.2011
Сообщений: 629
10.05.2020, 06:55
Цитата Сообщение от Adonai Посмотреть сообщение
В чем проблема? Встроенный telnet-клиент нормально подключается
По вашему описанию, точно не сказать.
скорее всего проблема в том, что от telnet в вашем коде только номер порта, а сервер ждет именно telnet клиента, т.е. все подвисает на начальном согласовании опций сессии. Попробуйте добавить отладочный вывод в вашу read_in после каждого recv() или просто снифером посмотрите что же присылает сервер.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2020, 06:55
Помогаю со студенческими работами здесь

Проблемы общения TELNET - клиента с Microsoft Telnet server
Задание по сетям на семестр было в написании кросс-платформенного (ха ха) консольного клиента, реализующего минимальное подмножество опций...

Хочу подключится через telnet к удаленному компютеру, пишу telnet ip и пишет не удалось открыть подключение к
Хочу подключится через telnet к удаленному компютеру, пишу telnet ip и пишет не удалось открыть подключение к этому узлу на порт 23, сбой...

Невозможно создать Socket: Socket sock = new Socket(someHostString,somePortInt);
Народ! Помогите пожалуйста. Вся красота губится на exception что выскакивает в момент создания сокета: Socket sock = new...

[Socket.io/Express] Как обойти круговую зависимость при использовани socket.io?
Всем привет. Есть приложение на Node.js / Express / Socket.io. У него есть API, с которым пользователи взаимодействуют с помощью веб...

Посоветуйте i5-7600 (Socket 1151) или i7-6800 (Socket 2011-3)
Посоветуйте, что взять i7-7700 (Socket 1151) или i7-6800 (Socket 2011-3) материнки на Z270 и на X99 (соответственно) Чем я...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru