使用csharp 实现在一台电脑上多个程序之间通过TCP/IP传递字符串的代码
时间: 2024-05-03 10:21:15 浏览: 12
以下是一个简单的示例代码,用于在一台计算机上的两个C#程序之间通过TCP/IP传递字符串:
服务器端代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main(string[] args)
{
TcpListener server = null;
try
{
// 设置本地IP地址和监听端口号
IPAddress localAddr = IPAddress.Parse("127.0.0.1");
int port = 13000;
// 创建TcpListener对象
server = new TcpListener(localAddr, port);
// 开始监听
server.Start();
// 等待客户端连接
Console.WriteLine("等待客户端连接...");
// 接受连接请求
TcpClient client = server.AcceptTcpClient();
Console.WriteLine("客户端已连接!");
// 获取网络流对象
NetworkStream stream = client.GetStream();
// 接收客户端发送的数据
byte[] data = new byte[256];
int bytes = stream.Read(data, 0, data.Length);
string message = Encoding.UTF8.GetString(data, 0, bytes);
Console.WriteLine("接收到的消息:{0}", message);
// 关闭连接
stream.Close();
client.Close();
server.Stop();
}
catch (SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
finally
{
// 停止监听
server?.Stop();
}
Console.WriteLine("\n按任意键退出...");
Console.ReadKey();
}
}
```
客户端代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main(string[] args)
{
// 设置服务器IP地址和端口号
IPAddress serverAddr = IPAddress.Parse("127.0.0.1");
int port = 13000;
// 创建TcpClient对象
TcpClient client = new TcpClient();
try
{
// 连接服务器
client.Connect(serverAddr, port);
Console.WriteLine("连接服务器成功!");
// 获取网络流对象
NetworkStream stream = client.GetStream();
// 发送数据到服务器
string message = "Hello from client";
byte[] data = Encoding.UTF8.GetBytes(message);
stream.Write(data, 0, data.Length);
Console.WriteLine("发送的消息:{0}", message);
// 关闭连接
stream.Close();
client.Close();
}
catch (SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
Console.WriteLine("\n按任意键退出...");
Console.ReadKey();
}
}
```
在这个示例中,服务器程序监听本地IP地址127.0.0.1的端口号13000,客户端程序连接到该端口号并发送一条字符串消息“Hello from client”。服务器程序接收到客户端的消息后,将其打印到控制台输出中。注意,如果您想在同一台计算机上运行多个客户端程序,您需要为每个客户端程序使用不同的端口号。