2016-12-30 102 views
0

我試圖連接到我在EC2上運行的C#TCP服務器。 但我的服務器沒有響應。這是在EC2上運行的代碼:連接到EC2上的C#服務器(AWS)

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當我在我的本地PC上運行IP爲127.0.0.1的服務器和客戶端時,它正在工作,而且如果我在IP 127.0.0.1中運行服務器和客戶端,而不是IP'35.163.41.3' – roni

回答

2

這可能是一些事情。我首先要檢查的是服務器上的Windows防火牆,以確保它允許該端口。

+0

另外 - 正如上面提到的,我會檢查它是否響應服務器上的本地主機使用telnet或其他客戶端。 – KevinSeaman

+0

謝謝!這是問題所在。當我通過以下方式禁用防火牆時:「控制面板\所有控制面板項目\ Windows防火牆」>「打開或關閉Windows防火牆」它工作!我知道,禁用防火牆並不是最重要的想法,但如果你想獲得詳細信息,你只能允許一些端口和IP – roni

相關問題