|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
||||||
Сервер не принимает клиента21.10.2017, 19:03. Показов 2099. Ответов 16
Метки нет (Все метки)
Здравствуйте. Дико извиняюсь, если создал темку не там или похожий вопрос уже обсуждался. Прошу ткнуть носом на подобный вопрос, я почитаю. В гугле ничего не нашел, может совсем кривой.
Проблема такова. Вот код сервера.
0
|
||||||
| 21.10.2017, 19:03 | |
|
Ответы с готовыми решениями:
16
Сервер принимает запрос от клиента только 1 раз (windows) TCP сервер принимает укороченные пакеты Пересылка бинарного файла с клиента на сервер |
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
|
| 21.10.2017, 20:33 | |
|
julok, как вариант - вы закрываете сервер-сокет что делать совсем не нужно при том что разрешения на повторное использование при открытии сокета не задается а система сама не скоро его отпустит
0
|
|
|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
||
| 21.10.2017, 21:10 [ТС] | ||
0
|
||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
|
| 23.10.2017, 06:31 | |
|
julok, https://msdn.microsoft.com/en-... s.85).aspx но в вашем случае хватает просто нормального использования сервер сокета - не закрывайте его - когда вы так делаете вы как будто перезагружаете сервер ради каждого подключения. Флаг переиспользования потребуется вам если приложение сервер быстро физически рестартует на том же порту
0
|
|
|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
||
| 23.10.2017, 17:31 [ТС] | ||
И в догонку вопрос, можно ли как-нибудь организовать соединение без сервера (как, например, точка-точка)? Нахожу только общую информацию, а относительно кода ничего нет.
0
|
||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
|
| 23.10.2017, 18:12 | |
|
julok, если перезагружаете очень быстро то переиспользование пригодится, точка к точке шлёт UDP пакеты - там все могут быть отправителями и слушателями но для того что бы вычислить порт на котором ждут ваших пакетов нужна третья строна
0
|
|
|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
||
| 23.10.2017, 22:10 [ТС] | ||
Вот тут и проблема. Попробовал переписать через UDP, но у второй стороны были проблемы с работой. В чем же проблема, зачем нужна 3 сторона? Почему нельзя принудительно указать? Чет вопросов больше, чем ответов.
0
|
||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
|
| 24.10.2017, 09:12 | |
|
julok, ещё раз по буквам:
1 если вы собираетесь принимать входящие подключения то не закрывайте сервер-сокет (sConnection) - вы сами не видите что код который закрывает сокет а потом сразу его же открывает выглядит странно? 2 когда я закрывал своё приложение-сервер а потом запускал его заново (спустя достаточно короткое время) система не успевала "отпустить" порт и отказывалась открывать сокет на том же порту - в этом случае мне помогало использование SO_REUSEADDR - с ним мой сервер мог нормально рестартовать на том же порту. 3 про общение p2p - если оба компьютера имеют выделенные постоянные внешние IP адреса то вы можете спокойно строить коммуникации между ними как вам заблагорассудится - хоть TCP хоть UDP хоть с координирующим сервером хоть без него. Если же у них нет таких адресов и нет возможности организовать VPN что бы компьютеры думали что они в обычной локальной сети где адреса как правило "хорошие", а хочется передавать данные от компьютера к компьютеру без транзитного узла с "хорошим" адресом то приходится идти на хитрость до которой думаю вам ещё очень далеко и которая имеет свои особенности https://en.m.wikipedia.org/wik... networking)
0
|
|
|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
||
| 24.10.2017, 16:36 [ТС] | ||
2. К сожалению, я с подобным не сталкивался, поэтому знать о таком не мог, а про подобные штуки нигде не упоминается. Но если углубиться, то мне не понятно где использовать SO_REUSEADDR. В статье примера для кривых дурачков нет. 3. Дальше своего компьютера я пока не выхожу, поэтому стоит начать с 127.0.0.1. Даже так я не могу отослать данные, не делая одно из приложений серверным (сейчас говорю про UDP). Поэтому, надеюсь, вы сошлете меня на код с реализацией, ибо ничего работающего найти не могу.
0
|
||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||||||
| 25.10.2017, 06:37 | ||||||
|
julok,
2 вот так
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
|||||||
| 25.10.2017, 20:35 [ТС] | |||||||
А вот с UDP проблемы. Видимо опять где-то накосячил, ничего не приходит.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
||
| 26.10.2017, 18:29 [ТС] | ||
0
|
||
|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
|||||||
| 28.10.2017, 11:02 [ТС] | |||||||
|
Добавлено через 17 часов 26 минут Проблему решил, но добавило новых вопросов. На "приемнике" нужно добавить bind, т.е
0
|
|||||||
|
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
|
||||
| 30.10.2017, 16:22 | ||||
|
0
|
||||
|
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 9
|
||
| 02.11.2017, 22:12 [ТС] | ||
|
Вот тут опять не понятно. Как я понимаю, то все сообщения, которые пришли на порт, сохраняются в очереди. Если послать сообщение, но не зайти в программу, дальнейшие попытки получить это сообщения обламываются. Если дойти до выбора оправки/приема (см код), и не выбирать прием, опять сообщение потеряется. Если хоть раз пройтись по приему, то все сообщения будут нормально приходить.
0
|
||
| 02.11.2017, 22:12 | |
|
Помогаю со студенческими работами здесь
17
Передать данные от клиента на сервер и наоборот Сервер принимает пакеты если клиент указывает неверный порт получателя UDP.
Как из TCP пакета пришедшего на сервер выделить IP клиента Сервер не принимает сообщение от клиента Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|