我試圖尋找類似的問題,但我不能,因爲我不知道如何發音這個問題。我怎樣才能使一個套接字連接非本地?
連接我的服務器代碼是...
server_Listener = new TcpListener(7778);
server_Listener.Start();
while (true)
{UserSocket user = new UserSocket();
try
{
user.client = server_Listener.AcceptSocket();
}
catch
{
break;
}
if (user.client.Connected)
{
user.server_isClientOnline = true;
this.BeginInvoke((MethodInvoker)(delegate()
{
textBox1.AppendText("client connected\n");
}));
user.server_netStream = new NetworkStream(user.client);
的UserSocket類有一個插座(變量名客戶端),以及一個NetStream(server_netStream)去接收和處理來自客戶端發送數據包的數據。
我的問題是,這對本地連接工作得很好,但它不工作非本地。
我試圖使用我的筆記本電腦和我的朋友的訪問這臺服務器,但他們沒有工作。
雖然...不是一個錯誤,但它只是無法接收連接。
我的代碼錯了嗎?或者有沒有一種獲得非本地連接的新方法?
「非本地」是指'通過互聯網'還是同一個域/工作組內的其他計算機? –
您是否打開了服務器防火牆中的端口,以允許網絡上的其他計算機訪問您的應用程序? –
你會看到這個http://stackoverflow.com/questions/8195421/connecting-sockets-over-internet-network-fails?rq=1 – Alyafey