所以我相當新的編程,並決定嘗試一些網絡,但我卡住了。我試圖創建一個簡單的客戶端和服務器來建立連接。顯然,它不工作,我環顧四周,但找不到任何新的信息來幫助我。所以我決定在這裏嘗試。Windows 8.1 StreamSocketListener c#
這是當我運行在客戶端和服務器發生的事情:
(我運行在同一臺計算機上的客戶端和服務器)
*客戶端連接到服務器(本地主機):
-System.Exception:連接嘗試失敗,因爲連接方在一段時間後沒有正確響應,或者由於連接的主機未響應而建立的連接失敗。
*客戶端連接到服務器時,服務器沒有運行:
-System.Exception:無連接可以作出,因爲目標機器積極地拒絕它。
*客戶端連接在端口80爲localhost(這不是服務器):
- 連接建立
*客戶端連接到主機名google.com在端口80:
- 連接建立
*客戶端連接到隨機的IP和端口:
-System.Exception:沒有這樣的主機是已知的。
Servercode:
public sealed partial class MainPage : Page
{
StreamSocketListener _listener = new StreamSocketListener();
string port = "1800";
public MainPage()
{
this.InitializeComponent();
listener();
}
private async void listener()
{
_listener.ConnectionReceived += listenerConnectionReceived;
await _listener.BindServiceNameAsync(port);
}
void listenerConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
tb_server.Text = "Connection received.";
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
}
}
Clientcode:
public sealed partial class MainPage : Page
{
StreamSocketListener _listener = new StreamSocketListener();
string port = "1800";
public MainPage()
{
this.InitializeComponent();
listener();
}
private async void listener()
{
_listener.ConnectionReceived += listenerConnectionReceived;
await _listener.BindServiceNameAsync(port);
}
void listenerConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
tb_server.Text = "Connection received.";
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
}
}
謝謝,我通過將兩個獨立的應用程序(服務器和客戶端)整合到一個應用程序中,解決了這個問題。 –