简单的客户端 - 服务器应用程序

时间:2014-08-21 20:41:53

标签: c# azure client-server windows-server-2008 tcpclient

我创建了2个控制台应用程序:

服务器:

TcpListener myList = new TcpListener(IPAddress.Parse("serverIP"), 8001);
while (true)
{
   myList.Start();
   Socket s = myList.AcceptSocket();
   byte[] b = new byte[100];
   int k = s.Receive(b);
   for (int i = 0; i < k; i++) Console.Write(Convert.ToChar(b[i]));
   s.Send(new ASCIIEncoding().GetBytes("The string was recieved by the server."));
   Console.WriteLine("\nSent Acknowledgement");
   s.Close();
}

客户端:

while (true)
{
   TcpClient tcpclnt = new TcpClient();
   tcpclnt.Connect(serverIP, 8001);
   Stream stm = tcpclnt.GetStream();
   byte[] ba = new ASCIIEncoding().GetBytes(Console.ReadLine());
   Console.WriteLine("Transmitting.....");
   stm.Write(ba, 0, ba.Length);
   byte[] bb = new byte[100];
   int k = stm.Read(bb, 0, 100);
   for (int i = 0; i < k; i++) Console.Write(Convert.ToChar(bb[i]));
   tcpclnt.Close();

}

当两台应用程序在我的机器上运行时,它们工作正常,但是当我在Windows Server 2008(Windows Azure)上运行服务器应用程序时出现错误:

  

连接尝试失败,因为连接方没有   在一段时间后正确回应,或建立连接   失败,因为连接的主机无法响应

声明:tcpclnt.Connect(serverIP, 8001);

我应该配置什么才能运行我的应用程序?

我应该在这里改变什么吗?

enter image description here` enter image description here

1 个答案:

答案 0 :(得分:0)

不要忘记在Azure门户中为您的应用程序创建“EndPoint”。

导航到Azure门户中的VM并选择“ENDPOINTS”,使用您希望服务运行的端口进行创建。

此外,如您的屏幕截图所示,确保您在VM的Windows防火墙中打开了端口。