2014-05-09 56 views
2

嘿,我想知道你是否可以幫助我連接一個C#應用程序,運行sockets使用JAVASCRIPT

我正在創建一個Android應用程序在html5和java腳本。 有一個在c#上創建的服務器,它正在列出連接。 我可以連接2個應用程序在一起,但讓我可以得到C#應用程序來回復我的Android應用程序使用JavaScript。

這裏是我的服務器代碼

public void Listeners() 
    { 
     Socket socketForClient = tcpListener.AcceptSocket(); 
     if (socketForClient.Connected) 
     { 
      nr_connections = nr_connections + 1; 
      nr_qry = nr_qry + 1; 
      SetText(""); 
      SetText("New Connection."); 
      NetworkStream networkStream = new NetworkStream(socketForClient); 
      StreamWriter streamWriter = new StreamWriter(networkStream); 
      StreamReader streamReader = new StreamReader(networkStream); 
      streamWriter.Flush(); 
      string GettheString = streamReader.ReadLine(); 
      if (GettheString == "server_status") 
      { 
       SetText("Checking Server Status."); 
       streamWriter.WriteLine("Online"); 
       streamWriter.Close(); 
       streamReader.Close(); 
       networkStream.Close(); 
      } 
     } 
     socketForClient.Close(); 
     SetText("Connection Closed..."); 
     Thread newThread = new Thread(new ThreadStart(Listeners)); 
     newThread.Start(); 
     nr_connections = nr_connections - 1; 
    } 

和我的javascript代碼

function connect() 
{ 
    try 
    { 
     var connection = new WebSocket('ws://105.237.125.247:8'); 

     connection.onopen = function() 
     { 
     connection.send('server_status'); 
     }; 
     connection.onmessage = function (event) { 
      alert(event.data); 
     } 
    } 
    catch(Exeption) 
    { 
     alert("Check Connection"); 
    } 
} 

我可是從Android應用程序中獲取數據,但可以發送回JavaScript文件

回答

2

網絡插座是一個協議,位於頂部的常規傳輸(如插座);基本上,你需要一個網絡套接字庫。如果您使用的是最新版本的Windows,那麼其中的大部分內容都會放入HTTP.SYS中,並且可以通過HttpListnener(特別是在上下文中的AcceptWebSocketAsync)獲得。但是,可以使用其他的Web套接字庫,如果您願意,也可以從頭開始編寫。

+0

謝謝。這不是我正在尋找的答案,但是你指出了我正確的方向。我得到我的代碼現在工作tanx –

相關問題