【发布时间】:2016-02-08 07:42:34
【问题描述】:
我正在尝试使用 C 程序使 Raspberry Pi 处理器与我的 MacBook Pro 进行通信。我有一条连接到这两个设备的以太网电缆和一个用于 Wifi 连接的 USB 无线适配器。 Mac 和 Pi 都通过同一个 Wifi 网络连接。
C 代码建立客户端-服务器连接,此代码可在此处找到:
服务器:http://www.cs.rpi.edu/~moorthy/Courses/os98/Pgms/server.c
客户:http://www.cs.rpi.edu/~moorthy/Courses/os98/Pgms/client.c
我使用的指南在这里:http://www.cs.rpi.edu/~moorthy/Courses/os98/Pgms/socket.html
我将 server.c 文件放在我的 Mac 的一个文件夹中,并将 client.c 文件放在 Raspberry Pi 内的文件夹中。在使用 'gcc -o client client.c' 和 server.c 编译后,我在 MacBook Pro 的终端上运行以下命令:
./服务器 51717
其中 51717 是我正在使用的端口号;服务器代码要求我指定端口号。客户端要求我传入我的机器的主机名和端口号。因此,我从 Raspberry Pi 的终端运行以下命令:
./客户端本地主机 51717
在我的 MacBook Pro 上同时运行 ./server 和 ./client 时,程序运行良好。但是,从 Pi 执行 ./client 时会发生错误。这会产生:“连接被拒绝”错误。我尝试查找“我的主机名”并输入值而不是输入“本地主机”。我还将我的 IP 地址放在“本地主机”上,只是得到一个“连接超时”错误。我不确定还要输入什么作为我的“主机名”才能使连接正常工作。
【问题讨论】:
-
当您输入
./client localhost 51717时,您是在告诉 Raspberry Pi 连接到自身。客户端需要 MacBook 的 IP 地址才能连接。
标签: c sockets tcp connection raspberry-pi