c# - 如何通过套接字发送多条消息

标签 c# sockets

我在网上看到如何用 C# 创建套接字服务器,
向服务器发送一条消息后,服务器关闭。
我一直想知道我可以做些什么来改变它,以便它可以处理多条消息。

代码:

static void startServer() {
    Console.WriteLine("[*] Opening server...");
    TcpListener listener = new TcpListener(IPAddress.Any, 45784);
    listener.Start();
    Console.WriteLine("[*] Server waiting on port " + 45784);
    TcpClient client = listener.AcceptTcpClient();
    Console.WriteLine("Client connected!");

    StreamReader STR = new StreamReader(client.GetStream());
    Console.WriteLine(STR.ReadLine());
}
static void Main(string[] args)
    {
        string ip = GetIpAdress();
        Console.WriteLine("server on: " + ip);
        startServer();
        Console.Read();
    }

最佳答案

我相信这是非常基本的。只需将您的代码仅读取一条消息并退出即可。

要读取多条消息,您只需要围绕这一行放置一个 while 循环。

Console.WriteLine(STR.ReadLine());

关于c# - 如何通过套接字发送多条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36503225/

相关文章:

java - 为什么 OutputStream.write() 关闭套接字连接?

c# - 我可以在不使用 pinvoke 的情况下在 C# 中获取系统颜色的 RGB 吗?

c# - 解析字符串并在 C# 中查找特定文本

javascript - 确认对话框未在 asp.net 中归档 itemCommand

c# - asp.net mvc Bundle.IncludeDirectory 示例?

linux - 通过多个接口(interface)发送/接收数据

c# - 如何在我的对象上使用 arrayList.contains

java - 服务器套接字究竟是如何工作的?

java - 在socket和serversocket之间打开多个流

Java:如何杀死服务器线程,以便再次运行服务器不会导致 "Address already in use"