[英]Websocket connection closing immediately after connection in c#
我正在嘗試在C#中實現Websockets
,我嘗試了許多方法,但沒有任何效果。
我)與ClientwebSocket
類一起正常工作,但此類沒有事件(我需要事件)
ii)嘗試使用WebSocketSharp.WebSocket類,但在打開連接后立即關閉
iii)WebSocket4Net.WebSocket同樣的問題,立即關閉連接
誰能幫助我解決這個問題。在此先多謝。
class SocketConnection
{
public static WebSocketSharp.WebSocket client;
public void connectionEstablish()
{
//---------------------------WebSocketSharp ----------------------------
using (client = new WebSocketSharp.WebSocket("ws://localhost:8182"))
{
client.OnClose += new EventHandler<CloseEventArgs>(onClosed);
client.OnMessage += new EventHandler<MessageEventArgs>(onReceived);
client.OnOpen += new EventHandler(OnConnectionOpen);
client.Connect();
}
}
public static void onClosed(object sender, EventArgs e)
{
Console.WriteLine("Inclose");
}
public static void onReceived(object sender, MessageEventArgs e)
{
Console.WriteLine("received");
}
public void OnConnectionOpen(object sender, EventArgs e)
{
Console.WriteLine("opened connection");
}
}
我希望您的問題與代碼中的using
有關。 變量client
是一個using變量,因此在使用代碼塊結尾時將被處置(這是使用目的,自動調用dispose)。
這意味着在執行client.Connect();
之后client.Connect();
使用塊末端,因此將對象丟棄。 要驗證這一點,請嘗試刪除using塊並更改代碼,如下所示:
var client = new WebSocketSharp.WebSocket("ws://localhost:8182");
使用后不要忘記處理該物體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.