zoukankan      html  css  js  c++  java
  • C#中的socket编程方法

    服务器:

    第一步,准备socket套接字:Socket sockfd = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

    第二步,准备Ip地址与端口号(为绑定做准备):IPAddress Ip = new IPAddress(new Byte[]{192.168.1.7});

                                                           :EndPoint point = new IPEndPoint(Ip,7788);

    第三步,绑定Ip地址与端口号:sockfd.Bind(point);

    第四步,监听客户端是否连接:sockfd.Listrn(1024);// 最大的连接数

    第五步,记录及相应客户端的连接请求:Socket client_sockfd = sockfd.Accept();

    第六步,向客户端发送数据:client_sockfd.Send(data);//data可能要做一些转换

    第七步,接收数据:sockfd.Recv();

    客户端与之相似,只需要做微小的改动即可。

    客户端不需要绑定,只需要与服务器进行连接:sockfd.Connect(point); //sockfd是客户端的套接字

    下面是一个没有用到线程的小示例:

    Server

            static void Main(string[] args)
            {
                Socket sockfd = new Socket(AddressFamily.InterNetwork,
                    SocketType.Stream,ProtocolType.Tcp);
                // 准备IP
    //          IPAdderss Ip = new IPAdderss(new byte[]{192,168,1,7});
                IPAddress Ip = IPAddress.Parse("192.168.1.7");
                // 准备端口号
                EndPoint point = new IPEndPoint(Ip,5678);
                //绑定
                sockfd.Bind(point);
                //监听客户端的最大连接数
                sockfd.Listen(1024);
                //响应客户端的连接请求和记录客户端的Ip地址和端口号
                Socket Client_sockfd = sockfd.Accept();
                string message = "hello socket!";
                //Byte[] data = new byte[1024];
                // 向客户端发送数据
                Byte[] data = Encoding.UTF8.GetBytes(message);
                Client_sockfd.Send(data);

                // 接收客户端发送的数据
                Byte[] data2 = new byte[1024];
                int lenth = Client_sockfd.Receive(data2);
                string buf = Encoding.UTF8.GetString(data2, 0, lenth);
                Console.WriteLine(buf);

                Console.ReadKey();
            }
        }

    Client

        static void Main(string[] args)
        {
            Socket sockfd = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress Ip = IPAddress.Parse("192.168.1.7");
            EndPoint point = new IPEndPoint(Ip, 5678);

            sockfd.Connect(point);
            // 接收服务器发来的消息
            Byte[] data = new byte[1024];
            int lenth = sockfd.Receive(data);
            string message = Encoding.UTF8.GetString(data,0,lenth);
            Console.WriteLine(message);
            Console.WriteLine("请输入要发送的数据:");
            string buf = Console.ReadLine();
            Byte[] sdata = Encoding.UTF8.GetBytes(buf);
            sockfd.Send(sdata);
            Console.ReadKey();
        }

    }

  • 相关阅读:
    METHODS OF AND APPARATUS FOR USING TEXTURES IN GRAPHICS PROCESSING SYSTEMS
    Display controller
    Graphics processing architecture employing a unified shader
    Graphics-Processing Architecture Based on Approximate Rendering
    Architectures for concurrent graphics processing operations
    Procedural graphics architectures and techniques
    DYNAMIC CONTEXT SWITCHING BETWEEN ARCHITECTURALLY DISTINCT GRAPHICS PROCESSORS
    Thermal zone monitoring in an electronic device
    System and method for dynamically adjusting to CPU performance changes
    Framework for Graphics Animation and Compositing Operations
  • 原文地址:https://www.cnblogs.com/showonce/p/5075420.html
Copyright © 2011-2022 走看看