Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python蓝牙-如何在windows上多次使用套接字地址_Python_Windows_Sockets_Bluetooth - Fatal编程技术网

python蓝牙-如何在windows上多次使用套接字地址

python蓝牙-如何在windows上多次使用套接字地址,python,windows,sockets,bluetooth,Python,Windows,Sockets,Bluetooth,同样的问题已经被问了好几次,大多数答案都与TCP/IP有关。但是我正在寻找与蓝牙相关的 我试图通过蓝牙在两台机器之间发送信息。我在linux和windows上都安装了pybluez,它在发现两个操作系统上附近的其他设备时效果很好。后来我以发送信息为例。当客户端是linux机器,服务器是linux机器时,它工作得很好。当我在windows7上运行服务器端代码时,出现了错误 server_sock.bind(("",port)) File "C:\Python27\lib\site-packag

同样的问题已经被问了好几次,大多数答案都与
TCP/IP
有关。但是我正在寻找与蓝牙相关的

我试图通过蓝牙在两台机器之间发送信息。我在linux和windows上都安装了
pybluez
,它在发现两个操作系统上附近的其他设备时效果很好。后来我以发送信息为例。当客户端是linux机器,服务器是linux机器时,它工作得很好。当我在windows7上运行服务器端代码时,出现了错误

server_sock.bind(("",port))
  File "C:\Python27\lib\site-packages\bluetooth\msbt.py", line 60, in bind
    status = bt.bind (self._sockfd, addr, port)
IOError: Only one usage of each socket address (protocol/network address/port) is normally permitted.
我意识到,在windows上,一旦使用了端口,仅关闭地址/端口是不够的,还必须设置为reuse()。 但是在bluetooth.BluetoothSocket中没有类似的库来重用地址/端口

如何多次使用插座?还是有别的办法

代码:

import bluetooth

server_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )

port = 1
server_sock.bind(("",port))
server_sock.listen(1)

client_sock,address = server_sock.accept()
print "Accepted connection from ",address

data = client_sock.recv(1024)
print "received [%s]" % data

client_sock.close()
server_sock.close()

我遇到了和你一样的问题,但昨天解决了,我想也许你可以尝试和我一样的方法。尝试使用其他端口号而不是端口1。我个人使用了端口5(而不是1)并停止了此问题。希望有帮助!由于某些原因,我还不太确定,端口1在第一次成功连接该端口后无法重新使用。

重置hciconfig,之所以发生这种情况,是因为套接字已在使用中

您可以发布与此问题相关的代码吗?