c#使用TcpListener及TcpClient开发一个简单的聊天工具实例

  

本文使用的开发环境是VS2017及dotNet4.0,写此随笔的目的是给自己及新开发人员作为参考,

  

本例子比较简单,使用的是控制台程序开发,若需要使用该软件作为演示,必须先运行服务端,再运行客户端。

  

因为是首次接触该方面的知识,写得比较简陋,如有更好的建议,请提出,谢谢!

  

        使用系统;   使用text;   使用System.Net;   使用System.Net.Sockets;   使用System.Threading.Tasks;   名称空间ChatServer   {   类项目   {   静态void Main (string [] args)   {   bool取消=false;   byte[]新字节缓冲区=[1024];   字符串消息;   byte [] messageBytes;   int数=0;   TcpListener TcpListener=new TcpListener(新IPEndPoint (IPAddress。任何,13000));   tcpListener.Start ();   控制台。WriteLine(“等待连接…");   TcpClient TcpClient=tcpListener.AcceptTcpClient ();   Console.WriteLine(“连接。”);   NetworkStream流=tcpClient.GetStream ();      Task.Factory.StartNew(()=比;   {   在((count=流。读(缓冲区,0,buffer.Length)) !=0)   {   Console.WriteLine ($ {DateTime。现在:yyyy-MM-dd HH: mm: ss fff}回复从服务器{tcpClient.Client.LocalEndPoint.ToString ()}: {Encoding.UTF8。GetString(缓冲区,0,count)}”);   }   });      任务t=Task.Factory.StartNew(()=比;   {   而取消(!)   {   消息=Console.ReadLine ();   如果(message.ToUpper ()==" Y ")   {   取消=true;   返回;   }   messageBytes=Encoding.UTF8.GetBytes(消息);   流。写(messageBytes 0 messageBytes.Length);   }   });      如果(取消)tcpClient.Close ();      而(真)   {   如果(t !=零,,t.IsCompleted)休息;   }   }   }   }      

        使用系统;   使用来;   使用text;   使用System.Net;   使用System.Net.Sockets;   使用System.Threading;   使用System.Threading.Tasks;   名称空间ChatClient   {   类项目   {   静态void Main (string [] args)   {   bool取消=false;   byte[]新字节缓冲区=[1024];   字符串消息;   byte [] messageBytes;   int数=0;   试一试   {   TcpClient TcpClient=new TcpClient(新IPEndPoint (Dns.GetHostEntry (Dns.GetHostName ()) .AddressList。在哪里(p=祝辞p。AddressFamily==AddressFamily.InterNetwork)当代(),14000));   tcpClient。连接(新IPEndPoint (IPAddress.Parse (“192.168.94.26”), 13000));   NetworkStream流=tcpClient.GetStream ();      Task.Factory.StartNew(()=比;   {   在((count=流。读(缓冲区,0,buffer.Length)) !=0)   {   Console.WriteLine ($ {DateTime。现在:yyyy-MM-dd HH: mm: ss fff}从客户端回复{tcpClient.Client.LocalEndPoint.ToString ()}: {Encoding.UTF8。GetString(缓冲区,0,count)}”);   }   });   任务t=Task.Factory.StartNew(()=比;   {   而取消(!)   {   消息=Console.ReadLine ();   如果(message.ToUpper ()==" Y ")   {   取消=true;   返回;   }   messageBytes=Encoding.UTF8.GetBytes(消息);   流。写(messageBytes 0 messageBytes.Length);   thread . sleep (10);   }   });   如果(取消)tcpClient.Close ();      而(真)   {   如果(t !=零,,t.IsCompleted)休息;   }   }   捕获(异常交货)   {   Console.WriteLine (ex.Message);   Console.ReadKey ();   }   }   }   }      

  

 C #使用TcpListener及TcpClient开发一个简单的聊天工具实例

  

 C #使用TcpListener及TcpClient开发一个简单的聊天工具实例

  

以上这篇c#使用TcpListener及TcpClient开发一个简单的聊天工具实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

c#使用TcpListener及TcpClient开发一个简单的聊天工具实例