在C#中,可以使用TcpListener
类来侦听TCP套接字连接,并使用Console.ReadLine()
方法来侦听标准输入。下面是一个示例代码:
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main()
{
// 创建TCP监听器
TcpListener listener = new TcpListener(IPAddress.Any, 1234);
listener.Start();
Console.WriteLine("TCP socket监听已启动...");
// 创建一个异步任务来接受TCP连接
listener.AcceptTcpClientAsync().ContinueWith(clientTask =>
{
TcpClient client = clientTask.Result;
Console.WriteLine("已接受TCP连接...");
// 获取网络流
NetworkStream networkStream = client.GetStream();
StreamReader reader = new StreamReader(networkStream, Encoding.UTF8);
StreamWriter writer = new StreamWriter(networkStream, Encoding.UTF8) { AutoFlush = true };
// 创建一个异步任务来接收TCP消息
reader.ReadLineAsync().ContinueWith(messageTask =>
{
string message = messageTask.Result;
Console.WriteLine("接收到TCP消息: " + message);
// 将TCP消息发送到标准输出
Console.WriteLine("发送到标准输出: " + message);
// 关闭TCP连接
client.Close();
listener.Stop();
});
});
// 读取标准输入并发送到TCP套接字
string input;
while ((input = Console.ReadLine()) != null)
{
writer.WriteLine(input);
}
}
}
上述代码中,我们创建了一个TcpListener
对象来侦听TCP连接,并在接收到连接后,获取网络流进行读写操作。同时,我们使用Console.ReadLine()
方法来读取标准输入,并将其发送到TCP套接字。
请注意,这只是一个简单的示例代码,实际应用中可能需要处理更多的异常情况和错误处理。此外,还可以使用异步方法来提高性能和并发处理能力。
推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云私有网络(VPC)、腾讯云负载均衡(CLB)等。你可以在腾讯云官网上找到这些产品的详细介绍和文档。
腾讯云产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云