Описание тега gen-tcp

NoneGen_tcp stands for 'Generic TCP' and is a module in Erlang that provides functions for TCP/IP communication.
3 ответа

Сообщения, использующие gen_tcp:send, не отправляются до тех пор, пока сокет не будет закрыт

Я хочу написать простой клиент, который отправляет сообщение на сервер и получает ответ. У меня есть сервер, который передает одно и то же сообщение всем подключенным клиентам, и он работает, когда я тестирую его с помощью telnet. Когда я пытаюсь сд…
08 сен '11 в 18:56
1 ответ

Erlang gen_tcp накапливает полученные данные

Это мой код для получения данных -module(t). -compile(export_all). start() -> {ok, LSock} = gen_tcp:listen(5555, [binary, {packet, 0}, {active, false}]), {ok, Sock} = gen_tcp:accept(LSock), {ok, Bin} = do_recv(Sock, []), ok = gen_tcp:close(Sock),…
08 май '14 в 16:54
3 ответа

Erlang пропущенные сообщения

Я запускаю следующий код с dbg:p(client, r): -module(client). -export([start/0, start/2, send/1, net_client/1]). start() -> start("localhost", 7000). start(Host, Port) -> io:format("Client connecting to ~p:~p.~n", [Host, Port]), register(ui, s…
15 ноя '10 в 23:13
1 ответ

Erlang tcp сервер / клиент, отправляющий сообщения

В настоящее время я пишу простой сервер, который будет работать с клиентами, которые подключаются, а затем общаются друг с другом, где сервер выступает в качестве посредника. Настройка: Сервер запускается 2 Клиента подключается к серверу Client1/2 о…
05 май '13 в 18:28
1 ответ

Невозможно принимать соединения на сокете, при создании сокетов на удаленном узле через RPC в Erlang

Я изо всех сил пытаюсь определить причину для gen_tcp:accept всегда возвращает ответ {error, closed}. По сути, у меня есть супервизор, который создает сокет прослушивания: gen_tcp:listen(8081, [binary, {packet, 0}, {active, false}, {reuseaddr, true}…
03 июл '15 в 05:57
1 ответ

Почему gen_tcp не определен в оболочке erlang?

После того, как я набрал 'gen_', а затем набрал Tab в оболочке erlang, я получил gen_server, gen_event, но я не получил gen_tcp. Как я могу использовать gen_tcp в оболочке erlang?
24 окт '13 в 15:33
1 ответ

Клиент закрыл после отправки сообщения, почему gen_tcp с опциями {active, false} принимают дважды

Я просто делаю тестирование с помощью gen_tcp. Один простой эхо-сервер и один клиент. Но клиент запущен и закрыт, сервер принимает два соединения, и одно в порядке, другое плохо. Любая проблема моего демо-сценария, и как это объяснить? сервер -modul…
03 дек '15 в 12:22
1 ответ

Gen_tcp:recv/3 закрывает сокет, если время ожидания истекло?

В настоящее время у меня есть сервер, который обрабатывает несколько подключений от клиентов, и клиент, который подключается к серверу, используя два подключения. Мой клиент имеет два процесса, которые обрабатывают соответственно отправку и получени…
03 мар '16 в 15:19
1 ответ

Как обрабатывать только один клиент одновременно в erlang gen_tcp?

У меня есть TCP-сервер, который прослушивает Ip: порт. listen(Ip, Port) -> Opts = [ binary, {active, false}, {packet, 0}, {reuseaddr, true}, {ip, Ip} ], case gen_tcp:listen(Port, Opts) of {ok, ListenSock} -> ?MODULE:loop_accept(ListenSock); {e…
04 фев '19 в 19:17
0 ответов

Erlang gen_tcp: отправить двоичный файл слиться?

Возможный дубликат: gen_tcp смял сообщения Иногда, когда я отправляю двоичные данные с gen_tcp:send он сливается во входящем, пример <<0,1>> а также <<1,0>> будет получен как <<0,1,1,0>>, Как я могу это исправить?…
01 дек '11 в 22:32
1 ответ

Не удается подключиться к определенному сетевому интерфейсу

Я прочитал документы для "inet", "gen_tcp", но не могу понять, где ошибка. connect_option () = {ip, inet: socket_address ()} socket_address () = ip_address () ip_address () = ip4_address () | ip6_address () ip6_address () = {0,65535, 0,65535, 0,6553…
29 май '17 в 14:39
1 ответ

Отправить точное количество байтов через сокет

Я читал, что в Erlang с помощью gen_tcp данные, передаваемые через сокет, могут быть объединены в один поток. Как я могу заставить сокет отправлять точно определенное количество байтов?
17 сен '12 в 07:56
0 ответов

Основанное на gen_tcp сервер / клиент постоянное и зашифрованное (ssl/tls) tcp соединение в erlang

У меня есть приложение для обмена сообщениями на основе erlang, где я использую модуль gen_tcp для связи между клиентом и сервером через tcp. текущая реализация не зашифрована и поэтому безопасна. Так что теперь я хотел бы использовать ssl/tls для з…
07 ноя '18 в 19:58
2 ответа

В чем разница между {активным, ложным}, {активным, истинным} и {активным, один раз}?

Как вы, наверное, знаете, существует три режима gen_tcp. {active, false}, {active, true} а также {active, once}, Я прочитал несколько документов о {active, false}, {active, true} а также {active, once}, Однако я не получил это. Какая разница между {…
16 июл '18 в 14:28
1 ответ

Как долго процесс получает сообщение о закрытии сокета

Предположим, у вас есть процесс Erlang, который обрабатывает сокет (gen_tcp/ssl), и узел закрывает соединение. Сколько времени нужно, чтобы процесс получил сообщение вроде: {tcp_closed, Socket} или же {ssl_closed, Socket} Это количество времени указ…
03 сен '12 в 07:52
1 ответ

Принятый сокет от задачи, терпящей неудачу в другом процессе

Я пытаюсь протестировать некоторый код эликсира и натолкнулся на поведение gen_tcp, которое я не понимаю. Когда я генерирую gen_tcp.accept сокет, я могу "получить к нему доступ" в задаче, в которой я его создал, но не в другом. Я решил, что это проб…
08 ноя '17 в 22:12
1 ответ

Как использовать Erlang ssl:close/2

У меня есть сервер ssl, и я хочу понизить его после получения первого ssl: recv до raw gen_tcp. Предполагая, что это может быть использовано, я не могу найти пример того, как это использовать. И я пока не очень хорош в использовании документации на …
09 авг '17 в 02:54
1 ответ

Ошибка CLOSED при параллельном установлении большого количества соединений с gen_tcp (ошибка?)

При попытке установить большое количество TCP-соединений параллельно я наблюдаю странное поведение, которое я считаю потенциальной ошибкой в gen_tcp, Сценарий заключается в том, что сервер прослушивает порт с несколькими одновременными получателями.…
20 июн '16 в 09:29
2 ответа

Какой двоичный файл получил gen_tcp:recv?

loop(Socket) -> case gen_tcp:recv(Socket, 0) of {ok, Bin} -> io:format("Bin=~p~n", [Bin]), loop(Socket); {error, Reason} -> io:format("Reason=~p~n", [Reason]) end. {env, [ {tcp_listen_options, [binary, {active, false}, {packet, 0}, {reusead…
02 окт '12 в 01:42
2 ответа

gen_server закрытие сокета прослушивания

Я пытаюсь сделать так, чтобы процесс gen_server принял нового клиента и немедленно породил нового потомка для обработки следующего. Проблема, с которой я сталкиваюсь, заключается в том, что когда сокет завершается и последовательно завершает работу,…
03 сен '11 в 04:49