虚拟机和主机socket编程常见问题

1.sock()调用失败10049
解决方法
bind()函数要求服务器端必须是自己的ip地址,例如虚拟机为服务器端,主机为客户端,首先在虚拟机命令窗口ping主机ip地址,若成功则说明两端可以连接,使用ipconfig,将虚拟机ipv4地址作为服务器地址即可。
2.sock()调用失败10060
解决方法
表示客户端连接超时。但此时虚拟机服务器端正在等待连接,原因可能是因为客户端的服务器IP地址未修改。

PS:使用DVc++软件编译时,"ws2_32.lib"的相关函数无法使用会报错
error: ld returned 1 exit status
解决方法
打开工具->编译选项->在连接器命令行加入以下命令 -lws2_32

虚拟机win10(服务器端)和主机(客户端)socket简单通信成功,上图!!

虚拟机和主机socket编程常见问题
虚拟机和主机socket编程常见问题