[英]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.