C#简易Socket与TcpClient通信示例:聊天程序实现
需积分: 10 154 浏览量
更新于2024-09-13
收藏 5KB TXT 举报
本篇文章主要介绍了如何在C#中实现一个简单的客户端与服务端通讯程序,通过两种不同的网络通信方式:Socket和TcpClient/TcpListener。首先,我们来看一下如何使用Socket进行通信。
在客户端部分,代码展示了如何创建一个TcpClient实例,并连接到指定的IP地址和端口(这里是19808)。然后,通过获取`NetworkStream`和`StreamWriter`,向服务器发送消息。发送完成后,关闭流和TcpClient对象,最后将接收到的消息添加到richTextBox中显示。
```csharp
TcpClient TcpClient = new TcpClient(this.IP.Text, 19808);
NetworkStream tcpStream = TcpClient.GetStream();
StreamWriter stream = new StreamWriter(tcpStream);
stream.Flush();
stream.Write(Message);
stream.Close();
TcpClient.Close();
this.richTextBox2.AppendText(Message + "\n");
```
在服务端,`StartListen`方法中创建了一个TcpListener实例并监听指定端口(同样为19808)。当有新的连接请求时,它会创建一个新的TcpClient对象,接收数据流,并将接收到的字节转换成字符串,展示在richTextBox中。
```csharp
TcpListener TcpListener = new TcpListener(19808);
TcpListener.Start();
while (true)
{
TcpClient TcpClient = TcpListener.AcceptTcpClient();
NetworkStream MyStream = TcpClient.GetStream();
byte[] bytes = new byte[2048];
int bytesRead = MyStream.Read(bytes, 0, bytes.Length);
string message = System.Text.Encoding.UTF8.GetString(bytes, 0, bytesRead);
this.richTextBox2.Text += message + "\n";
}
```
在`MainForm_Load`事件中,创建了一个新的线程来执行监听任务,确保服务端在应用程序启动时就开始监听。
整个过程的核心是C#中的网络编程,特别是Socket和TcpClient/TcpListener类的使用,它们提供了在Windows应用程序中建立和管理TCP连接的功能。本文档通过一个实际的聊天应用示例,让读者理解如何创建一个基础的点对点通信系统,这对于理解和开发更复杂的网络应用非常有用,比如实时通信应用、远程桌面或游戏服务器等。
353 浏览量
2021-04-04 上传
2019-03-08 上传
点击了解资源详情
点击了解资源详情
2018-11-28 上传
2019-04-30 上传
2022-09-20 上传
liping0000hf
- 粉丝: 2
- 资源: 8