【Erlang聊天室之一】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

posted on 2013-12-13 14:19  hejavac  阅读(546)  评论(0)    收藏  举报

导航