TimeoutError python套接字

时间:2017-04-11 12:40:00

标签: python sockets raspberry-pi

我想在带有加密狗BT和Raspberry的笔记本电脑之间进行BT通信。它们都连接在PAN网络上,因此它们都有一个IP地址。

对于通信,我使用TCP套接字。在服务器部分,我可以创建我的套接字,直到accept方法。然后我继续我的RPi 3并运行我的python脚本:

import socket

hote = "192.168.50.1"
port = 1000

socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.connect((hote, port))
print("Connection on {}".format(port))
socket.close()

但是几分钟后我总是有这个输出:

  Traceback (most recent call last):
  File "socketClient.py", line 7, in <module>
    socket.connect((hote, port))
TimeoutError: [Errno 110] Connection timed out

我不知道为什么......你有什么想法吗?我在笔记本电脑上尝试了telnet addr_ip port命令,并成功连接了服务器。

2 个答案:

答案 0 :(得分:1)

这是一个防火墙问题,因为他停止了入口连接。当我改变角色时,我意识到了。我把服务器代码放在我的笔记本电脑上的RPI和客户端代码上并且运行良好。

答案 1 :(得分:0)

首先,你绑定了套接字吗?第二,你在听IP和端口吗?

创建套接字连接的常规方法是:

服务器端:

  1. 创建套接字
  2. 将套接字绑定到specyfic接口和端口
  3. 让套接字听。
  4. 在循环中,尝试接受与套接字的连接
  5. 处理连接
  6. 客户方:

    1. 创建client_socket
    2. 尝试连接服务器套接字。
    3. 有关python中网络编程的一些信息: herehere