2016-07-13 17 views
2

私のアプリでSystem.Net.WebSocketsを使用してC#Websocketクライアントを使用していました。私のコードを送受信するコードはすべてうまくいきますが、私の人生は成功していないので、私は別のホスト名でクライアントを使うことができます。私は自分の問題を示すためにデモを作成しました。WebSocketクライアントが切断されることはありません

これは私のプログラムコードである:これは私が間違った方法を使用するか、または私のコードは単なる文法的に間違っているアム私は

public class myWSClient 
{ 

    private ClientWebSocket _client; 
    public Uri _myURI; 
    public myWSClient(Uri MyURI) 
    { 
     _client = new ClientWebSocket(); 
     _myURI = MyURI; 
    } 

    public async Task<string> ConnectAndDisconnect() 
    { 
     string dummyreturn = ""; 
     await _client.ConnectAsync(_myURI, CancellationToken.None); 
     Console.WriteLine("Connected"); 
     string status = ""; 
     Console.WriteLine("Waiting to Disconnect, but it will never happen :("); 
     await _client.CloseAsync(WebSocketCloseStatus.NormalClosure, status, CancellationToken.None); 
     Console.WriteLine("Disconnected mate"); 
     return dummyreturn; 
    } 

} 

を使用しています、私のクラスがある

class Program 
{ 
    static void Main(string[] args) 
    { 
     GetDocList(); 

     Console.ReadLine(); 
    } 
    static async Task<string> GetDocList() 
    { 
     var client = new myWSClient(new Uri("ws://localhost:9999/qlcplusWS")); 
     var docs = await client.ConnectAndDisconnect(); 
     return docs; 
    } 

} 

答えて

0

GetDocList()メソッドのタスクを開始した後、メソッドが非同期でメイン関数が実行を継続するのを待つ必要があります。

GetDocList().Wait(); 
関連する問題