如何在C中连接客户端/服务器(Beej的网络编程指南)

nik*_*nik 6 c sockets networking connect

我正在编写一个简单的C网络编程教程:https: //beej.us/guide/bgnet/html/multi/index.html

通过它看完后,我的计划是实现测试客户端/服务器程序,然后开始玩,修改的东西,添加的东西,等我实现(第一客户端/服务器组处理TCP连接)在这里找到该程序:https: //beej.us/guide/bgnet/html/multi/clientserver.html

基本上,"服务器"在一台机器上运行,当客户端连接时,服务器只发送"Hello,world!" 当我在同一台机器上运行并连接到localhost时,这可以正常工作.

但是,我无法连接不同的机器(在Debian和OpenBSD服务器上都试过,没有iptables/pf规则集).连接只是超时,我不确定为什么.我可以ping和ssh两者.

任何人,特别是熟悉本教程的人,都能指出我正确的方向吗?

编辑:服务器上没有X,所以没有截图,但netstat -tlnp | grep 3490什么都没给我.

netstat -an显示在3490上侦听tcp连接.

Dav*_*ave 1

if (bind(sockfd, p->ai_addr, p->ai_addrlen) == -1) {在打印出 的值之前,p->ai_addr我打赌它是 127.0.0.1。这将导致通信在一台计算机上正常工作,但在其他任何地方都不会发生。

要侦听所有接口,请绑定 0.0.0.0。