学习socket编程时,将服务器程序运行在开发板上,将客户端应用程序运行在 虚拟机Ubuntu16.04 系统,服务器可以正常开启,
但客户端连接时, 报错“connect error: No route to host”
1、网上大多是以下情况:
“ 两台机器进行socket通信时,可能在连接时出现错误:
connect error: No route to host(errno:113)
出错原因:server端的防火墙设置了过滤规则 ”
解决办法:使用iptables关闭server端的防火墙
//1.暂时关闭
$sudo service iptables stop
//2.打开
$sudo service iptables start
//3.永久打开和关闭
$sudo chkconfig iptables on
$sudo chkconfig iptables off
但实测不能解决我的问题,遂继续排查。
2、开发板的ip地址已虚拟机中的IP网段不在同一个网段
解决方法:用路由器的lan口将电脑与开发板网口连在一起,ping通后,再将IP地址改正确。
(有线连接直接使用桥接模式并修改IP在同一网段)。
问题解决!