簡體   English   中英

c#TCP偵聽器向所有連接的客戶端發送消息

[英]c# TCP Listener send message to all connected client

是否可以使用TCP偵聽器向所有客戶端發送消息?

例:

TCP偵聽器正在運行,偵聽器向客戶端發送默認消息,客戶端1連接獲取默認消息,客戶端2連接獲取默認消息,如果客戶端1或客戶端2修改了默認消息並將其發送給偵聽器,則偵聽器會將修改后的消息發送給客戶端1和客戶端2 。

是否可以使用TCP偵聽器向所有客戶端發送消息?

答案是不。

您使用套接字服務器只是為了等待新連接(偵聽器)並接受它們。 每當套接字服務器接受新連接時,套接字服務器都會分配一個獨立的套接字客戶端來參與遠程端點。

        while (keepRunning)
        {
            try
            {
                TcpClient socket = server.AcceptTcpClient(); //Socket Server accept a new connection and assigned an independent socket client.


                if (keepRunning)
                    RequestManager.askForRequestAdnRunIt(socket, idLayout); //The Socket Client is attending at the remote endpoint

            }
            catch (Exception ex)
            {
                log.Error("Se detecto un error en el puerto para atencion de peticiones. ERR: " + ex.Message);
                log.Error(ex.StackTrace);
            }
        }

因此,如果要將消息發送到所有TCPClients套接字,則必須一個一個地發送它,我建議通過異步方法發送它,以提高性能並避免瓶頸。 檢查我的這個答案 ,看看如何使用異步方法發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM