C#与Erlang的一次Socket通信

注:该节主要是了解Erlang的通信,还没真正开发Erlang聊天室。

 

功能点:

Erlang写服务器,通过接受也仅能接受一次客户端的信息,然后直接返回给客户端。

C#写客户端,硬编码一个字符串“TTTT”,点击发送,发给服务器。

1.服务器端代码

-module(my_tcp_server).
-export([server/0]).

server() -> 
   %监听30087的端口
    {ok,Server}=gen_tcp:listen(30087,[binary,{active,false}]),
   %接受连接
    {ok,Client}=gen_tcp:accept(Server),
   %接受Client的数据
    {ok,Msg}=gen_tcp:recv(Client,0),
    io:format("Received > ~p/n",[Msg]),
   %返回从客户端传过来的数据到客户端
    gen_tcp:send(Client,Msg),
   %只接受一次请求,就关闭连接
    gen_tcp:close(Client),
    gen_tcp:close(Server).


2.客户端

public partial class Form1 : Form
    {
        static Socket socket;
        private static byte[] result = new Byte[1024];
        public Form1()
        {
            InitializeComponent();
        }

    //  点击按钮,就开始连接服务器,并且硬编码字符串“TTTT”发送到服务器。
        private void button1_Click(object sender, EventArgs e)
        {
            IPAddress ip = IPAddress.Parse("127.0.0.1");
            socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,
                ProtocolType.Tcp);
            socket.Connect(new IPEndPoint(ip,30087));
            socket.Send(Encoding.UTF8.GetBytes("TTTT"));
            int receiveLength = socket.Receive(result);
            textBox1.Text += Encoding.UTF8.GetString(result, 0, receiveLength);
        }
    }


效果图:


 

源代码:http://download.csdn.net/detail/hjhjava/6708789

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值