C# Socket网络编程(1)

76 篇文章 1 订阅

C# 封装了2个类 TcpClient类和TcpListener类,很方便的创建面向对象的Tcp传输。

Tcp 协议主特点:

面向对象的,2个进程之间通信,必须先进行一个握手,确认连接成功后才传输实际的数据。

全双工,意思 2个进程建立连接后,数据在2个进程之双向流动,A <—> B

点对点,Tcp连接是在2个进程之间,不可能在一个连接中将数据发送给多个接收方。

可靠的数据传输,建立连接后,数据一定能发送到达,并且有些,发送123,接收也是123.

对于服务器和客户端的理解,约定发送请求的一方为客户端,另一端为服务端。

下面创建一个简单的Service和Client演示之间的通信:

1. 创建Server端

需要添加引用:

using System.Net;

using System.Net.Sockets;

        Console.WriteLine("Server is running......");

        IPAddress ip = new IPAddress(new byte\[\] { 127, 0, 0, 1 });

        TcpListener listener = new TcpListener(ip, 8600); //开启了对8600端口的侦听

        listener.Start(); //开始侦听

        //保持程序不退出

        Console.WriteLine($"\\n\\n输入 Q 键退出");

        ConsoleKey key;

        do

        {

            key = Console.ReadKey(true).Key;

        }

        while (key != ConsoleKey.Q);

2. 创建Client 端

        Console.WriteLine("Client Running ...");

        TcpClient client = new TcpClient();

        try

        {

            client.Connect("localhost", 8600);

        }

        catch (Exception ex)

        {

            Console.WriteLine(ex.Message);

        }

        Console.WriteLine($"Connected.{client.Client.LocalEndPoint} -->{client.Client.RemoteEndPoint}");

        Console.WriteLine($"\\n\\n输入 Q 键退出");

        ConsoleKey key;

        do

        {

            key = Console.ReadKey(true).Key;

        }

        while (key != ConsoleKey.Q);

连接到9000端口,都是使用本机测试IP 127.0.0.1来测试的,否则需要一台局域网内的电脑验证,跟换为实际IP也可以的。

先开启服务器侦听,在开启客户端连接,连接成功后显示连接的IP和端口,以及服务器的IP和端口。

服务器:
在这里插入图片描述

客户端:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flysh05

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值