vs做一个基于tcp的exe

在本教程中,我们将使用Visual Studio (VS) 来创建一个基于TCP的简单服务器和客户端应用程序。这些应用程序将使用TCP套接字来进行网络通信。教程将从原理介绍开始,然后提供详细的步骤来创建这两个应用程序。

原理:

TCP(传输控制协议)是一种面向连接的通信协议,提供了可靠的、按顺序的和错误检测的数据传输。TCP是因特网协议套件(TCP/IP)的核心协议之一。在TCP协议中,客户端和服务器在进行通信前首先需要建立一个连接。一旦连接建立,客户端与服务器可以相互发送和接收数据。连接结束后,需要关闭套接字以释放资源。

详细介绍:

1. 打开Visual Studio,选择“创建新项目”。

2. 在项目类型中,选择“控制台应用”,然后命名为“TCPExample”,点击“创建”。

我们首先创建服务器应用程序:

3. 修改“Program.cs”文件,添加以下代码:

```csharp

using System;

using System.Net;

using System.Net.Sockets;

using System.Text;

namespace ServerApp

{

public class Program

{

public static void Main(string[] args)

{

IPAddress ipAddress = IPAddress.Parse("127.0.0.1");

int port = 8090;

TcpListener server = new TcpListener(ipAddress, port);

server.Start();

Console.WriteLine($"Server started listening on port {port}...");

while (true)

{

TcpClient client = server.AcceptTcpClient();

Console.WriteLine("Client connected!");

NetworkStream stream = client.GetStream();

byte[] buffer = new byte[1024];

while (true)

{

int receivedBytes = stream.Read(buffer, 0, buffer.Length);

string receivedData = Encoding.ASCII.GetString(buffer, 0, receivedBytes);

Console.WriteLine($"Received: {receivedData}");

}

}

}

}

}

```

在此代码中,我们创建了一个TcpListener对象,用于监听ip地址为“127.0.0.1”和端口为8090的TCP连接。服务器会持续监听,一旦有客户端连接,会打印“Client connected!”,并开始接收来自客户端的信息,并将其打印到输出窗口。

现在,我们创建客户端应用程序:

4. 在同一个解决方案中,添加一个新的“控制台应用”项目,命名为“ClientApp”。

5. 修改“Program.cs”文件,添加以下代码:

```csharp

using System;

using System.Net.Sockets;

using System.Text;

namespace ClientApp

{

public class Program

{

public static void Main(string[] args)

{

IPAddress ipAddress = IPAddress.Parse("127.0.0.1");

int port = 8090;

TcpClient client = new TcpClient();

client.Connect(ipAddress, port);

Console.WriteLine($"Connected to server at {ipAddress}:{port}");

NetworkStream stream = client.GetStream();

while (true)

{

Console.Write("Enter a message to send: ");

string message = Console.ReadLine();

byte[] data = Encoding.ASCII.GetBytes(message);

stream.Write(data, 0, data.Length);

}

}

}

}

```

此代码中,我们创建了一个TcpClient对象,尝试连接到我们之前设置的服务器的ip地址和端口。连接成功后,客户端程序将提示用户输入信息,然后将其作为字节数据发送到服务器。

运行:

6. 将“ServerApp”设置为解决方案的启动项目,并运行。

7. 运行服务器后,将“ClientApp”设置为启动项目并运行。

8. 在“ClientApp”中输入数据并发送,可以看到服务器收到数据并将其打印在输出窗口。

至此,我们使用Visual Studio开发了一个基于TCP的简单服务器和客户端应用程序,并演示了如何进行通信。这种设置非常适用于学习和入门,您可以根据需要扩展这个基本示例来实现更复杂的功能。