使用Erlang编写TCP服务器和客户端通信

作者:佚名 上传时间:2023-04-25 运行软件:Erlang/OTP 软件版本:Erlang/OTP 22 版权申诉

这个示例代码演示了如何使用Erlang编写一个简单的TCP服务器和客户端程序,以及如何在它们之间进行双向通信。实现方式使用Erlang的gen_tcp模块来创建和管理TCP连接,并使用Erlang的消息传递机制在客户端和服务器之间发送消息。

%% TCP服务器代码
-module(tcp_server).
-export([start/0]).

start() ->
    %% 创建TCP套接字
    {ok, ListenSocket} = gen_tcp:listen(1234, [{active, true}]),
    %% 无限循环等待客户端连接
    loop(ListenSocket).

loop(ListenSocket) ->
    %% 接受客户端连接
    {ok, ClientSocket} = gen_tcp:accept(ListenSocket),
    %% 关闭被动接收状态
    gen_tcp:controlling_process(ClientSocket, self()),
    %% 接收客户端消息
    case gen_tcp:recv(ClientSocket, 0) of
        %% 如果客户端发送了消息,则回复它
        {ok, Data} ->
            gen_tcp:send(ClientSocket, Data),
            loop(ListenSocket);
        %% 如果客户端关闭了连接,则关闭客户端套接字并继续等待下一个连接
        {error, closed} ->
            gen_tcp:close(ClientSocket),
            loop(ListenSocket)
    end.

%% TCP客户端代码
-module(tcp_client).
-export([start/1]).

start(ServerAddress) ->
    %% 创建TCP连接
    {ok, Socket} = gen_tcp:connect(ServerAddress, 1234, []),
    %% 发送消息给服务器
    gen_tcp:send(Socket, "Hello, server!"),
    %% 等待服务器回复
    receive
        {tcp, Socket, Data} ->
            io:format("Received: ~s", [Data])
    end,
    %% 关闭TCP连接
    gen_tcp:close(Socket).

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

用户评论
相关推荐
使用Erlang编写TCP服务器客户端通信
这个示例代码演示了如何使用Erlang编写一个简单的TCP服务器和客户端程序,以及如何在它们之间进行双向通信。实现方式使用Erlang的gen_tcp模块来创建和管理TCP连接,并使用Erlang的消
Erlang/OTP 22
Erlang/OTP
2023-04-25 03:06
使用Erlang实现TCP服务器客户端通信
本示例代码展示了如何使用Erlang编写TCP服务器和客户端间的通信。该示例代码通过创建socket套接字实现通信,包括发送和接收数据。在该示例代码中,服务器会监听客户端的请求并能够接受多个客户端的连
Erlang/OTP 23.3
Erlang
2023-03-25 20:23
使用Erlang实现TCP服务器-客户端通信
本示例展示了如何在Erlang中使用gen_tcp模块实现TCP服务器-客户端通信。代码分别实现了服务器和客户端的监听和发送。服务器端:-module(tcp_server).-export(
Erlang/OTP 23
Erlang
2023-05-27 02:29
使用C#编写TCP服务器客户端通信程序
本文主要介绍如何使用C#编写TCP服务器和客户端通信程序。C#是一种通用型、现代化的编程语言,它提供了丰富的网络编程库,可以方便地进行网络编程。C#网络编程实例我们首先来看一个简单的C#网络编程实
.NET Framework 4.8
Visual Studio 2019
2023-04-17 08:12
使用Erlang实现TCP服务器客户端
本示例展示了如何使用Erlang编写一个TCP服务器和客户端。服务器将接收来自客户端的消息,并将消息发送回客户端。客户端将发送消息到服务器并打印响应。这是一个简单的示例,仅用于演示TCP套接字编程的基
Erlang/OTP 23.0
Erlang/OTP
2023-04-10 01:38
TCP Socket编写客户端服务器通信程序
是用C#语言编写的客户端和服务器通信的控制台程序,需先启动服务器端的程序,再启动客户端的。
RAR
0B
2019-05-27 21:56
C#编写TCP IP通信程序服务器客户端
C#编写的TCP/IP通信程序,包含服务器和客户端,简单易懂,有注释。初学者学习,不建议高手看
rar
0B
2020-05-08 06:01
C#编写TCP IP通信程序服务器客户端
C#编写的TCP/IP通信程序,包含服务器和客户端,简单易懂,有注释。 初学者学习,不建议高手看
RAR
0B
2018-12-09 00:51
Erlang使用OTP库实现简单的TCP服务器客户端通信
本示例代码展示了如何使用Erlang的OTP库实现一个简单的TCP服务器和客户端通信。通过基于OTP框架的gen_server/gen_tcp模块,可以方便地实现可靠的、并发的网络编程。%% TCP
Erlang/OTP 23
Erlang
2023-04-30 18:44
使用erlang语言编写TCP服务器
本示例演示了如何使用erlang编写一个基于TCP协议的服务器,代码中包含了服务器初始化、数据接收和处理等主要功能,方便读者进行二次开发和学习。-module(tcp_server).-expor
Erlang/OTP 23
Erlang
2023-04-30 12:00