|
0 / 0 / 1
Регистрация: 10.03.2010
Сообщений: 37
|
||||||
Прокомментировать код ECHO Server11.03.2010, 12:39. Показов 5452. Ответов 33
Метки нет (Все метки)
Мне нужно написать ECHO Server,(только его клиента не надо) который будет из командной строки брать номер порта и конектится к нему и слушать все что есть.
Если порт занят, то вывести сообщение на экран и пойти перебирать порты (допустим от 50000 до 55000). Я нашел код такого сервера, но есть непонятные места, объясните их пожалуйста. Да чуть не забыл пишу для unix
И как увидеть, что он реально принимает данные с порта? Если скомпилить этот код, то он компилится и даже потом запускается но все время пишет port is already is used Спасибо за понимание
0
|
||||||
| 11.03.2010, 12:39 | |
|
Ответы с готовыми решениями:
33
Прокомментировать код Прокомментировать код Прокомментировать код |
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
| 15.03.2010, 07:06 | |||||||||||
|
другой вариант
Добавлено через 2 минуты в нём нет poll и select но в нём нет и
0
|
|||||||||||
|
0 / 0 / 1
Регистрация: 10.03.2010
Сообщений: 37
|
|
| 15.03.2010, 07:11 [ТС] | |
|
нет мне нужно именно с selectom и с обработкой сигналов
0
|
|
|
0 / 0 / 1
Регистрация: 10.03.2010
Сообщений: 37
|
||||||
| 14.04.2010, 08:58 [ТС] | ||||||
|
Вощем домучал я почти свой сервер! Вот
При проверке Selecta и Accepta при нежелательном исходе нельзя закрывать listenera и выходить. А че же тогда делать? Сказали написать какую-то терминацию? Я правильно понимаю, что это просто отдельно написать функцию закрытия listenera и всех клиентов и вставить ее во все нужные места? (Какие?) поможите, вроде уж все вымучал разобрался, охото до конца дойти!
0
|
||||||
|
|
||
| 14.04.2010, 10:07 | ||
|
Небольшой совет: заполняй множество перед каждым вызовом select'а. Это на несколько микросекунд медленнее будет работать (что в данном случае совсем не принципиально), но технически этот код будет намного проще понимать Если у тебя произогли проблемы при записи в один из клиентских сокетов, ты его закрываешь (это нормально), на зачем-то при этом программу закрываешь (exit)
1
|
||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 14.04.2010, 10:35 | ||||||
1
|
||||||
|
0 / 0 / 1
Регистрация: 10.03.2010
Сообщений: 37
|
||||
| 14.04.2010, 11:04 [ТС] | ||||
|
Добавлено через 3 минуты Ну то есть можно допустим вернуть его в начало и попробовать опять заселектиться? А по поводу терминации? Я правильно понял? (см мой предыдущий пост)
0
|
||||
|
|
|||||
| 14.04.2010, 13:18 | |||||
|
1
|
|||||
|
0 / 0 / 1
Регистрация: 10.03.2010
Сообщений: 37
|
||||
| 14.04.2010, 13:28 [ТС] | ||||
|
Иногда бывает напишу вопрос, а потом сам начинаешь ковыряться и разбираешься... И думаешь, зачем вопрос написал, только опозорился глупым вопросом ))) Но всеравно спасибо за неоцинимый вклад в мои знания! ))
0
|
||||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 15.04.2010, 04:15 | ||
a = b < c если b < c, то результат операции сравнения равен 1, если b >= c, то результат операции сравнения равен 0 то есть в a запишется либо ноль, либо еденица while (bnd < 0); это ни разу не проциклится, потому что в bnd никогда не запишется -1 операция присваивания имеет очень низкий приоритет, ниже её только операция запятая
0
|
||
|
0 / 0 / 1
Регистрация: 10.03.2010
Сообщений: 37
|
|
| 15.04.2010, 14:43 [ТС] | |
|
задам еще один глупый вопрос...
нужно сделать makefile для этого сервера что такое малуашду и как он делается я знаю, но не пойму одного как его разбить на несколько частей? например вынести фун-ию обработки сигнала в отдельный файл и потом в мейке его подключать? так чтоли?
0
|
|
|
|
|
| 15.04.2010, 15:13 | |
|
Я не понял, в чём проблема: в том, чтобы разбить исходник на отдельные файлы или в том, чтобы написать Makefile. В любом случае создай лучше отдельную тему, потому что сюда уже мало кто заглядывает. Если проблема именно с makefile'ом - создай тут, но предварительно просмотри другие темы, ибо вопрос поднимался не раз
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 16.04.2010, 10:55 | ||
0
|
||
| 16.04.2010, 10:55 | |
|
Помогаю со студенческими работами здесь
34
Прокомментировать код Прокомментировать код
Прокомментировать код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|