c# tcpclient和tcplistener
时间: 2023-09-12 13:11:49 浏览: 203
c# tcplistener/tcpclient
5星 · 资源好评率100%
C#中的TcpClient和TcpListener是用于创建和处理TCP连接的类。TcpClient用于创建TCP客户端,而TcpListener用于创建TCP服务器。
TcpClient类用于在客户端与服务器之间建立连接。可以通过TcpClient对象的构造函数创建实例,并使用Connect方法连接到指定的服务器和端口。一旦连接建立,就可以使用NetworkStream来发送和接收数据。
以下是一个简单的示例代码,演示了如何使用TcpClient发送数据:
```csharp
using System;
using System.Net.Sockets;
class Program
{
static void Main()
{
try
{
TcpClient client = new TcpClient("127.0.0.1", 8080);
NetworkStream stream = client.GetStream();
string message = "Hello, Server!";
byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
stream.Write(data, 0, data.Length);
Console.WriteLine("Message sent to the server.");
stream.Close();
client.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
```
TcpListener类用于创建TCP服务器,它监听指定的端口,并等待客户端的连接请求。可以使用AcceptTcpClient方法来接受客户端连接,并返回一个TcpClient对象以进行数据传输。
以下是一个简单的示例代码,演示了如何使用TcpListener接收数据:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
class Program
{
static void Main()
{
TcpListener server = null;
try
{
// 设置监听IP和端口
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8080;
server = new TcpListener(ipAddress, port);
// 开始监听
server.Start();
Console.WriteLine("Server started. Waiting for clients...");
// 接受客户端连接
TcpClient client = server.AcceptTcpClient();
// 获取客户端的网络流
NetworkStream stream = client.GetStream();
byte[] data = new byte[1024];
// 读取客户端发送的数据
int bytesRead = stream.Read(data, 0, data.Length);
string message = System.Text.Encoding.ASCII.GetString(data,0, bytesRead);
Console.WriteLine("Received message: " + message);
stream.Close();
client.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
if (server != null)
server.Stop();
}
}
}
```
这些是TcpClient和TcpListener的基本用法示例。你可以根据你的需求进行进一步的开发和处理。
阅读全文