2016-12-30 15 views
0

EC2で実行しているC#TCPサーバーに接続しようとしています。 しかし、私のサーバーは応答していません。これは、EC2上で実行されているコードです:EC2(AWS)のC#サーバーに接続

私はこのコードを実行しようとしている私自身のPCから
static void Main(string[] args) 
{ 
    TcpListener serverSocket = new TcpListener(8888); 
    TcpClient clientSocket = default(TcpClient); 
    serverSocket.Start(); 
    clientSocket = serverSocket.AcceptTcpClient(); 
    Console.WriteLine("new client connected"); 
} 

そしてそれら:

static void Main(string[] args) 
{ 
    TcpClient clientSocket = new TcpClient(); 
    clientSocket.Connect("35.163.41.3", 8888); 
    Console.WriteLine("you connected to the server!"); 
} 

これは私のEC2のセキュリティグループである:

Security group

何が問題なのですか?

+0

コードはローカルで動作しますか? – shadowfox476

+0

@ shadowfox476 IPとローカルPC上でサーバとクライアントを実行しているときに、 '127.0.0.1'が動作しています。また、サーバとクライアントをIP2.3.0.0.1で実行しているときに動作しますが、 IPではない '35.163.41.3' – roni

答えて

2

多くのことが考えられます。最初に確認するのは、サーバー上のWindowsファイアウォールがそのポートを許可していることを確認することです。

+0

また、前述のように、telnetや他のクライアントを使ってサーバー上のlocalhostで応答したかどうかを確認します。 – KevinSeaman

+0

ありがとうございます!それが問題でした。 「コントロールパネル\すべてのコントロールパネルの項目\ Windowsファイアウォール」>「Windowsファイアウォールを有効または無効にする」の順番でファイアウォールを無効にしました。私はそれがあなたのファイアウォールを無効にすることは理想的ではないことを知っているが、あなたが詳細を取得したい場合は、いくつかのポートとIPだけを許可することができます – roni

関連する問題