我创建了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);
我应该配置什么才能运行我的应用程序?
我应该在这里改变什么吗?
`
答案 0 :(得分:0)
不要忘记在Azure门户中为您的应用程序创建“EndPoint”。
导航到Azure门户中的VM并选择“ENDPOINTS”,使用您希望服务运行的端口进行创建。
此外,如您的屏幕截图所示,确保您在VM的Windows防火墙中打开了端口。