使用Erlang实现TCP服务器-客户端通信

作者:佚名 上传时间:2023-05-27 运行软件:Erlang 软件版本:Erlang/OTP 23 版权申诉

本示例展示了如何在Erlang中使用gen_tcp模块实现TCP服务器-客户端通信。代码分别实现了服务器和客户端的监听和发送。

服务器端:

-module(tcp_server).
-export([start/1]).

start(Port) ->
    {ok, Listen} = gen_tcp:listen(Port, [binary, {packet, 0}, {reuseaddr, true}, {active, true}]),
    loop(Listen).

loop(Listen) ->
    case gen_tcp:accept(Listen) of
        {ok, Socket} ->
            spawn(fun() ->
                handle(Socket),
                gen_tcp:close(Socket)
            end),
            loop(Listen);
        {error, _} ->
            loop(Listen)
    end.

handle(Socket) ->
    case gen_tcp:recv(Socket, 0) of
        {ok, Data} ->
            io:format("Received data: ~p~n", [Data]),
            gen_tcp:send(Socket, Data);
        {error, Reason} ->
            io:format("Error: ~p~n", [Reason])
    end.

客户端:

-module(tcp_client).
-export([start/2]).

start(Host, Port) ->
    {ok, Socket} = gen_tcp:connect(Host, Port, [binary, {packet, 0}, {active, true}]),
    loop(Socket).

loop(Socket) ->
    io:format("Enter a message: "),
    Data = io:get_line(""),
    gen_tcp:send(Socket, Data),
    case gen_tcp:recv(Socket, 0) of
        {ok, ReceivedData} ->
            io:format("Received data: ~p~n", [ReceivedData]),
            loop(Socket);
        {error, Reason} ->
            io:format("Error: ~p~n", [Reason])
    end.

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
使用Erlang实现TCP服务器-客户端通信
本示例展示了如何在Erlang中使用gen_tcp模块实现TCP服务器-客户端通信。代码分别实现了服务器和客户端的监听和发送。服务器端:-module(tcp_server).-export(
Erlang/OTP 23
Erlang
2023-05-27 02:29
使用Erlang实现TCP服务器客户端通信
本示例代码展示了如何使用Erlang编写TCP服务器和客户端间的通信。该示例代码通过创建socket套接字实现通信,包括发送和接收数据。在该示例代码中,服务器会监听客户端的请求并能够接受多个客户端的连
Erlang/OTP 23.3
Erlang
2023-03-25 20:23
使用Erlang编写TCP服务器客户端通信
这个示例代码演示了如何使用Erlang编写一个简单的TCP服务器和客户端程序,以及如何在它们之间进行双向通信。实现方式使用Erlang的gen_tcp模块来创建和管理TCP连接,并使用Erlang的消
Erlang/OTP 22
Erlang/OTP
2023-04-25 03:06
Erlang中如何实现TCP客户端服务器通信
这是一段Erlang代码,用于演示如何通过TCP协议在客户端和服务器之间传输数据。代码中包括了服务器的监听和客户端的连接、发送和接收数据等功能实现方式。```% 定义服务器端口号Port = 8
Erlang/OTP 23
Erlang/OTP
2023-04-29 14:04
使用Erlang实现TCP服务器客户端
本示例展示了如何使用Erlang编写一个TCP服务器和客户端。服务器将接收来自客户端的消息,并将消息发送回客户端。客户端将发送消息到服务器并打印响应。这是一个简单的示例,仅用于演示TCP套接字编程的基
Erlang/OTP 23.0
Erlang/OTP
2023-04-10 01:38
erlang ranch实现的游戏tcp服务器
使用ranch tcp开发的简易服务端,可根据需求扩展添加各种功能。
ZIP
24.54MB
2020-10-31 02:01
Erlang使用OTP库实现简单的TCP服务器客户端通信
本示例代码展示了如何使用Erlang的OTP库实现一个简单的TCP服务器和客户端通信。通过基于OTP框架的gen_server/gen_tcp模块,可以方便地实现可靠的、并发的网络编程。%% TCP
Erlang/OTP 23
Erlang
2023-04-30 18:44
TCP_UDP实现客户端服务器通信
计算机网络实验课的大作业,大三的,三四个人一组,用vb实现基于TCP和UDP协议的客户端与服务器的实时通信。
ZIP
0B
2019-01-10 00:38
TCP实现服务器和多客户端通信
基于TCP/IP的一个服务端多个客户端的代码实现。使用事件完成多线程客户端数据接收。基于MFC框架实现,编写环境为VC++6.0.能够实现多个客户端向服务端发送数据以及服务端向客户端发送数据,发送数据
RAR
0B
2019-07-08 09:47
使用TCP/IP实现客户端/服务器通信
本文将介绍如何使用TCP/IP协议实现基于客户端/服务器架构的通信。我们将使用Python编程语言实现一个简单的socket程序,展示如何在客户端和服务器之间发送和接收数据。 # 导入socket库
Python 3
Python
2023-04-27 12:57