首页 > 代码库 > TcpListener、TcpClient
TcpListener、TcpClient
1.TcpClient
using System; using System.Text; using System.Net.Sockets; namespace tcpclient { class tcpclient { static void Main(string[] args) { try { //建立客户端套接字 TcpClient tcpclnt = new TcpClient(); Console.WriteLine("正在连接服务器..."); //连接服务器 tcpclnt.Connect("127.0.0.1", 8081); //得到客户端的流 NetworkStream stm = tcpclnt.GetStream(); while (true) { Console.Write("客户端说:"); string str = Console.ReadLine();//输入说话内容 //发送字符串 System.Text.UTF8Encoding utf8 = new UTF8Encoding(); //可以处理中文 byte[] ba = utf8.GetBytes(str); stm.Write(ba, 0, ba.Length); //接收从服务器返回的信息 byte[] bb = new byte[2048]; int k = stm.Read(bb, 0, 100); //输出服务器端返回的信息 Console.WriteLine("服务器说:" + utf8.GetString(bb, 0, k)); } tcpclnt.Close(); } catch (Exception e) { Console.WriteLine("错误..." + e.StackTrace); } } } }
2.TcpListener
using System; using System.Text; using System.Net.Sockets; using System.Net; namespace tcpchater { class tcpserver { static void Main(string[] args) { try { //初始化监听,端口为8001 TcpListener myList = new TcpListener(IPAddress.Parse("127.0.0.1"), 8081); //开始监听服务器端口 myList.Start(); Console.WriteLine("启动服务器端,端口服务..."); Console.WriteLine("本地节点为:" + myList.LocalEndpoint);//LocalEndpoint属性 标识正用于侦听传入客户端连接请求的本地网络接口和端口号 Console.WriteLine("等待客户端连接..."); //等待处理接入连接请求 Socket s = myList.AcceptSocket(); //新建立的连接用套接字s表示 Console.WriteLine("客户端连接来自 " + s.RemoteEndPoint + " 已上线."); while (true) { System.Text.UTF8Encoding utf8 = new UTF8Encoding(); //可以处理中文 //接收客户信息 byte[] b = new byte[2048]; int k = s.Receive(b); Console.Write("客户端说:" + utf8.GetString(b, 0, k)); Console.WriteLine(); Console.Write("服务器端说:"); //处理客户端请求,给客户端回应 string str = Console.ReadLine(); s.Send(utf8.GetBytes(str)); } //释放资源,结束监听 s.Close(); myList.Stop(); } catch (Exception e) { Console.WriteLine("错误..." + e.StackTrace); } } } }
TcpListener、TcpClient
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。