打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#中使用TCP通信
C#中使用TCP通信

TCP通信需要通信双方都在线,所以需要先启动服务端进行监听,客户端才能获得连接,服务端代码:

 static void Main(string[] args)        {            TcpClient client = null;            NetworkStream stream = null;            byte[] buffer = null;            string receiveString = null;            IPAddress localIP = IPAddress.Parse("127.0.0.1");            int localPort = 11000;            TcpListener listener = new TcpListener(localIP, localPort);//用本地IP和端口实例化Listener            listener.Start();//开始监听            while (true)            {                client = listener.AcceptTcpClient();//接受一个Client                buffer = new byte[client.ReceiveBufferSize];                stream = client.GetStream();//获取网络流                stream.Read(buffer, 0, buffer.Length);//读取网络流中的数据                stream.Close();//关闭流                client.Close();//关闭Client                receiveString = Encoding.Default.GetString(buffer).Trim('\0');//转换成字符串                Console.WriteLine(receiveString);            }        }

只有服务端开启监听后,客户端才能正确连接,所以服务端要一直开启监听,客户端每次发送数据,都要首先与服务端建立连接,连接建立完成后才进行数据发送。客户端代码:

static void Main(string[] args)        {            string sendString = null;//要发送的字符串            byte[] sendData = null;//要发送的字节数组            TcpClient client = null;//TcpClient实例            NetworkStream stream = null;//网络流            IPAddress remoteIP = IPAddress.Parse("127.0.0.1");//远程主机IP            int remotePort = 11000;//远程主机端口            while (true)//死循环            {                sendString = Console.ReadLine();//获取要发送的字符串                sendData = Encoding.Default.GetBytes(sendString);//获取要发送的字节数组                client = new TcpClient();//实例化TcpClient                try                {                    client.Connect(remoteIP, remotePort);//连接远程主机                }                catch (System.Exception ex)                {                    Console.WriteLine("连接超时,服务器没有响应!");//连接失败                    Console.ReadKey();                    return;                }                stream = client.GetStream();//获取网络流                stream.Write(sendData, 0, sendData.Length);//将数据写入网络流                stream.Close();//关闭网络流                client.Close();//关闭客户端            }        }


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C#线程系列讲座(3):线程池和文件下载服务器
TcpClient接收数据不全
C# 实现基本的套接字TCP通信
C#网络编程(基本概念和操作) - Part.1 - C# 编程 - TraceFact....
基于C#的socket编程的TCP异步实现
C# TCP通讯示例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服