• 简单的C#socket例子(转载)


    打开命名空间

    using System.Net;
    using System.Net.Sockets;

    服务端代码:

    复制代码
     1 static void Main(string[] args)
    2 {
    3 int port = 2000;
    4 string host = "127.0.0.1";
    5
    6 IPAddress ip = IPAddress.Parse(host);
    7 IPEndPoint ipe = new IPEndPoint(ip, port);
    8
    9 Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    10 socket.Bind(ipe);
    11 socket.Listen(0); //监听
    12 Console.WriteLine("waiting.......");
    13
    14 //接受来自客户端发送的信息
    15 Socket temp = socket.Accept(); //创建新的socket用于和客户端通信
    16 Console.WriteLine("ok...");
    17 string recstr = "";
    18 byte[] recbyte = new byte[1024];
    19 int bytes;
    20 bytes = temp.Receive(recbyte, recbyte.Length, 0);
    21 recstr += Encoding.ASCII.GetString(recbyte, 0, bytes);
    22
    23 //给客户端返回信息
    24 Console.WriteLine("server get message:{0}", recstr);
    25 string sendstr = "client send message successful";
    26 byte[] by = Encoding.ASCII.GetBytes(sendstr);
    27 temp.Send(by, by.Length, 0); //发送
    28 temp.Close(); //关闭
    29 socket.Close();
    30 Console.ReadLine();
    31
    32 }
    复制代码

    客户端代码:

    复制代码
     1 static void Main(string[] args)
    2 {
    3 try
    4 {
    5 int port = 2000;
    6 string host = "127.0.0.1";
    7
    8 IPAddress ip = IPAddress.Parse(host);
    9 IPEndPoint iped = new IPEndPoint(ip, port);
    10
    11 Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    12 Console.WriteLine("waiting......");
    13 soc.Connect(iped); //连接
    14
    15 //向服务端发送消息
    16 string sendstr = "hello,this is client message";
    17 byte[] bytes = Encoding.ASCII.GetBytes(sendstr);
    18 Console.WriteLine("send message");
    19 soc.Send(bytes);
    20
    21 //接受由服务端返回的信息
    22 string recstr = "";
    23 byte[] recbyte = new byte[1024];
    24 int bytess;
    25 bytess = soc.Receive(recbyte, recbyte.Length, 0);
    26 recstr += Encoding.ASCII.GetString(recbyte, 0, bytess);
    27 Console.WriteLine("get message:{0}", recstr);
    28 soc.Close();
    29
    30 }
    31 catch (Exception ex)
    32 {
    33 Console.WriteLine("error");
    34 }
    35 Console.WriteLine("press enter exit");
    36 Console.ReadLine();
    37 }
  • 相关阅读:
    Servlet的PrintWriter out = response.getWriter()使用
    Java Performance Optimization Tools and Techniques for Turbocharged Apps--reference
    Scrum介绍——续
    Scrum介绍
    CMM能力成熟度模型
    自定义Spark Partitioner提升es-hadoop Bulk效率——续
    $digest already in progress 解决办法——续
    $digest already in progress 解决办法
    linux tcpdump 抓包
    Asterisk——part 1
  • 原文地址:https://www.cnblogs.com/dongzhaosheng/p/2770199.html
Copyright © 2020-2023  润新知