c# Socket多次发送字符串(如何移除while(true)循环)

本文关键字:while true Socket 循环 何移 字符串 | 更新日期: 2023-09-27 18:02:23

我有一个c#服务器,它发送一个字符串到Android JAVA客户端。

我的Android代码已经接收了一次,但我想每秒多次发送这个字符串。

        public void serverthread()
    {
        Thread serverthread = new Thread(server);
        serverthread.Start();
    }

    public void server()
    {
        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        socket.Bind(new IPEndPoint(IPAddress.Parse("192.168.2.5"),6000));
        estado = 1;
        socket.Listen(100);
        Socket accept = socket.Accept();
        while (true)
        {
            buffer = Encoding.Default.GetBytes("Hello World");
            accept.Send(buffer, 0, buffer.Length, 0);
        }
}
当我使用这个while(true)循环时,最终我的Android客户端崩溃了。我如何改进我的实施?

c# Socket多次发送字符串(如何移除while(true)循环)

我完全不能理解你的问题是什么,但是如果你想防止你的客户端崩溃,你可能不得不让它使用你的数据。毕竟客户机比服务器慢。使用thread . sleep(时间);这样的

    while (true)
    {
        buffer = Encoding.Default.GetBytes("Hello World");
        accept.Send(buffer, 0, buffer.Length, 0);
        Thread.Sleep(10);
    }

使用定时器类代替,并在每个Elapsed事件发送字符串到您的Android客户端