zoukankan      html  css  js  c++  java
  • C# socket网络编程 基于TCP协议

    socket 服务器端:

    1.创建socket

     Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//三个参数分别为枚举类型(网络),Socket类型,协议

    2.绑定ip和端口号

    IPAddress ipAddress = new IPAddress(new byte[] {192,168,119,1});
    EndPoint point =new IPEndPoint(ipAddress,8811);
    tcpServer .Bind(point);//绑定方法Bind(),IPEndPoint()封装ip和端口

    3.开始监听

    tcpServer.Listen(100);//参数为最大连接数

    4.接收客户端

    Socket clientSocket= tcpServer.Accept();

    5.给客户端发信息

    string message = "hello welcome!";
    byte[] date = Encoding.UTF8.GetBytes(message);//Encoding()转码
    clientSocket.Send(date);

    6.接收客户端信息

    byte[] date2=new byte[1024];
    int length = clientSocket.Receive(date2);
    string message2 = Encoding.UTF8.GetString(date2, 0, length);
    Console.WriteLine("客户端发信息过来:"+message2);

    代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;

    namespace SocketServer
    {
    class Program
    {
    static void Main(string[] args)
    {

    Socket tcpServer =new Socket( AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
    IPAddress ipAddress = new IPAddress(new byte[] {192,168,191,1});
    EndPoint point =new IPEndPoint(ipAddress,8811);
    tcpServer .Bind(point);
    tcpServer.Listen(100);
    Console.WriteLine("开始监听");

    Socket clientSocket= tcpServer.Accept();
    Console.WriteLine("一个客户端链接过来");
    string message = "hello welcome!";
    byte[] date = Encoding.UTF8.GetBytes(message);
    clientSocket.Send(date);

    byte[] date2=new byte[1024];
    int length = clientSocket.Receive(date2);
    string message2 = Encoding.UTF8.GetString(date2, 0, length);
    Console.WriteLine("客户端发信息过来:"+message2);

    Console.ReadKey();
    }
    }
    }

    socket 客户端

    1.创建socket

    2.发起请求

    tcpClient.Connect();

    3.接收服务器端信息

    4.向服务器端发信息

    代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;

    namespace SocketClient
    {
    class Program
    {
    static void Main(string[] args)
    {
    Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    IPAddress ipAddress=new IPAddress(new byte[]{192,168,191,1});
    EndPoint point =new IPEndPoint(ipAddress,8811);
    tcpClient.Connect(point);
    byte[] date = new byte[1024];
    int length= tcpClient.Receive(date);
    string message = Encoding.UTF8.GetString(date, 0, length);
    Console.WriteLine("服务器端发过来的信息:"+message);

    string message2 = Console.ReadLine();
    tcpClient.Send(Encoding.UTF8.GetBytes(message2));
    Console.ReadKey();
    }
    }
    }

  • 相关阅读:
    [LeetCode]Add Two Numbers
    [LeetCode]Longest SubString Without Repeating Characters
    [LeetCode]Median of Two Sorted Arrays
    [LeetCode]Two Sum
    动态规划
    [shell编程]一个简单的脚本
    一些linux的问题
    核稀疏表示分类(KSRC)
    conda 按照指定源下载python包
    python 保留两位小数
  • 原文地址:https://www.cnblogs.com/ouyangJJ/p/5811754.html
Copyright © 2011-2022 走看看