如何使用阿里云搭建网络环境并在本地进行测试(1)-代码清单5-5

191 阅读2分钟

例子是书78页的代码清单5-5

代码我就不打了,重点说说如何进行测试

作者的局域网拓扑图为:

79页,说明了作者使用了局域网内的2台主机(Kongming20和ernest-laptop)进行了测试

由于本人无类似的网络环境,考虑到手里只有阿里云服务器和MAC一台,故需要对测试命令做一些变更。

服务器挂起的测试指令:

./testaccept 192.168.1.109 54321 

将上面这条指令(监听IP地址为192.168.1.109的54321端口)改为(监听IP地址为0.0.0.0的54321端口)

./testaccept 0.0.0.0 54321

客户端,我选择在本地,也就是在自己的电脑上进行测试,指令需要根据阿里云的IP地址来确定。

首先我们需要登录阿里云,查看自己云服务器的IP地址:

image.png

IP地址为106.15.52.233,那么本地(指的是)相应的指令为:

telnet 106.15.52.233 54321

54321 为之前确定监听的端口号

但是这样在本地访问依然不可行,会提示:

telnet: Unable to connect to remote host

原因是,需要将端口号54321加入到阿里云防火墙的通行规则中

添加方式如下:

image.png

然后测试就成功了,结果打印在服务端:

image.png

问题1:我为什么要对监听的ip地址进行修改?

起初跟作者一样,我也设置192.168.1.109,但是无法继续进行,原因我个人认为,在同一个云服务器上不存在192.168.1.109的主机地址,故无法监听

服务器依旧能跑的起来的,那么这就很奇怪了,没有这个ip地址,那么服务器在监听谁呢?

不知道服务器在监听xx:xx的话,可使用这条指令查看

netstat -nlptu

查询到的结果为:

image.png

这就很奇怪了,我设置的明明为192.168.1.109,到头来怎么变成了0.0.0.0呢,端口号却没变?

这个问题我也没弄明白,希望各路大神可以告知。

但是,测试还是接着做下去的,那既然这样的话,我就索性将指令进行了修改。