情况是这样的,在亚马逊申请了云主机,
也做了基本的设置
也设置好了弹性IP,
设置了安全组
听说VPC也要设置些什么,因为这里不知需要设置些什么,就随便弄了下
----------------------------------------------------------------------------------
然后下面是我的SOCKET程序的部分主要片段
服务端:
1 IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 10000);// 2 // 创建套接字 3 serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 4 // 绑定网络端点IPEndPoint 5 serverSocket.Bind(ipep);// 6 // 监听,参数为请求队列中的最大请求数 7 serverSocket.Listen(10); 8 9 while (true) 10 { 11 try 12 { 13 // 接收客户的连接请求。 14 clientSocket = serverSocket.Accept(); 15 MessageBox.Show(clientSocket.RemoteEndPoint.ToString()); 16 clientThread = new Thread(new ThreadStart(ReceiveData)); 17 clientThread.Start(); 18 } 19 catch (System.Exception ex) 20 { 21 MessageBox.Show("listening Error: " + ex.Message); 22 } 23 }
客户端:
1 // 通过主机IP地址和端口号,形成到服务的连接点 2 IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(/*"183.31.134.37"*/"52.24.87.83"), 10000); 3 // 创建套接字 4 clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 5 6 // 7 try 8 { 9 clientSocket.Connect(ipep); 10 } 11 catch (System.Exception ex) 12 { 13 MessageBox.Show("connect error: " + ex.Message); 14 return; 15 } 16 17 while (true) 18 { 19 // 接收服务器信息 20 int bufLen = 0; 21 try 22 { 23 // 获取接收到的数据长度 24 bufLen = clientSocket.Available; 25 26 clientSocket.Receive(data, 0, bufLen, SocketFlags.None); 27 if (bufLen == 0) 28 { 29 continue; 30 } 31 } 32 catch (System.Exception ex) 33 { 34 MessageBox.Show("Receive Error:" + ex.Message); 35 return; 36 } 37 38 }
当把自己的服务端程序 放到亚马逊主机运行后,在其它电脑开启客户端进行连接,是连接不上的,请问下这是什么原因?
找了不少资料,也作了不少云主机设置的改变,但还是连接不上,虽然IP可以在命令行PING通,但程序就是连不上。
请各位能支支招。谢谢了。
MessageBox.Show 干掉
10000端口对外开放吗?用telnet 看下,不通就需要在防火墙设置了
不太懂TELNET怎么用,我TELNET 百 度 什么端口都连不上。求教。
但上面的上入站规则我不是把端口范围设定在0~65535了吗