Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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
Android 蓝牙环境下Windows上的Python 3.5。请求的地址在其上下文中无效_Android_Python_Windows_Bluetooth_Bluez - Fatal编程技术网

Android 蓝牙环境下Windows上的Python 3.5。请求的地址在其上下文中无效

Android 蓝牙环境下Windows上的Python 3.5。请求的地址在其上下文中无效,android,python,windows,bluetooth,bluez,Android,Python,Windows,Bluetooth,Bluez,代码如下: from bluetooth import * import sys if sys.version < '3': input = raw_input addr = None if len(sys.argv) < 2: print("no device specified. Searching all nearby bluetooth devices for") print("the SampleServer service") else:

代码如下:

from bluetooth import *
import sys

if sys.version < '3':
    input = raw_input

addr = None

if len(sys.argv) < 2:
    print("no device specified.  Searching all nearby bluetooth devices for")
    print("the SampleServer service")
else:
    addr = sys.argv[1]
    print("Searching for SampleServer on %s" % addr)

# search for the SampleServer service
addr = "CC:79:4A:4B:35:85"
service_matches = find_service( address = addr )

if len(service_matches) == 0:
    print("couldn't find the SampleServer service =(")
    sys.exit(0)

first_match = service_matches[0]
port = first_match["port"]
name = first_match["name"]
host = first_match["host"]

print("connecting to \"%s\" at Address - %s on Port %d" % (name, host, port))

# Create the client socket
sock=BluetoothSocket( RFCOMM )
sock.connect((host, port))

print("connected.  type stuff")
while True:
    data = input()
    if len(data) == 0: break
    sock.send(data)

sock.close()
no device specified.  Searching all nearby bluetooth devices for
the SampleServer service
connecting to "None" at Address - CC:79:4A:4B:35:85 on Port 31
Traceback (most recent call last):
  File "T_C_1.py", line 40, in <module>
    sock.connect((host, port))
  File "C:\Python 3.5\lib\site-packages\bluetooth\msbt.py", line 72, in connect
    bt.connect (self._sockfd, addr, port)
OSError: The requested address is not valid in its context.
从蓝牙导入*
导入系统
如果sys.version<'3':
输入=原始输入
地址=无
如果len(系统argv)<2:
打印(“未指定设备。正在搜索附近的所有蓝牙设备以查找”)
打印(“SampleServer服务”)
其他:
addr=sys.argv[1]
打印(“在%s“%addr”上搜索SampleServer)
#搜索SampleServer服务
addr=“CC:79:4A:4B:35:85”
服务匹配=查找服务(地址=地址)
如果len(服务_匹配)==0:
打印(“找不到SampleServer服务=(”)
系统出口(0)
第一个匹配=服务匹配[0]
端口=第一个匹配[“端口”]
名称=第一个匹配项[“名称”]
主机=第一个匹配[“主机”]
打印(“连接到端口%d%(名称、主机、端口)上地址-%s处的\%s\”)
#创建客户端套接字
sock=蓝牙插座(RFCOMM)
sock.connect((主机、端口))
打印(“已连接。键入内容”)
尽管如此:
数据=输入()
如果len(数据)==0:中断
sock.send(数据)
sock.close()
运行时错误抛出,如下所示:

from bluetooth import *
import sys

if sys.version < '3':
    input = raw_input

addr = None

if len(sys.argv) < 2:
    print("no device specified.  Searching all nearby bluetooth devices for")
    print("the SampleServer service")
else:
    addr = sys.argv[1]
    print("Searching for SampleServer on %s" % addr)

# search for the SampleServer service
addr = "CC:79:4A:4B:35:85"
service_matches = find_service( address = addr )

if len(service_matches) == 0:
    print("couldn't find the SampleServer service =(")
    sys.exit(0)

first_match = service_matches[0]
port = first_match["port"]
name = first_match["name"]
host = first_match["host"]

print("connecting to \"%s\" at Address - %s on Port %d" % (name, host, port))

# Create the client socket
sock=BluetoothSocket( RFCOMM )
sock.connect((host, port))

print("connected.  type stuff")
while True:
    data = input()
    if len(data) == 0: break
    sock.send(data)

sock.close()
no device specified.  Searching all nearby bluetooth devices for
the SampleServer service
connecting to "None" at Address - CC:79:4A:4B:35:85 on Port 31
Traceback (most recent call last):
  File "T_C_1.py", line 40, in <module>
    sock.connect((host, port))
  File "C:\Python 3.5\lib\site-packages\bluetooth\msbt.py", line 72, in connect
    bt.connect (self._sockfd, addr, port)
OSError: The requested address is not valid in its context.
未指定任何设备。正在搜索附近的所有蓝牙设备以查找
SampleServer服务
连接到端口31上地址-CC:79:4A:4B:35:85处的“无”
回溯(最近一次呼叫最后一次):
文件“T_C_1.py”,第40行,在
sock.connect((主机、端口))
文件“C:\Python 3.5\lib\site packages\bluetooth\msbt.py”,第72行,在connect中
bt.connect(自连接、地址、端口)
OSError:请求的地址在其上下文中无效。
我不知道为什么。一些网站告诉我,我的主机地址需要在本地机器上。。。。 此代码驻留在我的WIndows计算机上,并在尝试通过蓝牙连接到Android手机时运行。 我不明白为什么/怎么。。。
感谢您的帮助!

我在Windows上使用PyBluez时遇到了相同的错误,因为我在收到绑定错误后不得不离开我的Mac环境。我发现当您绑定到外部IP地址或您的系统不知道的IP地址(例如,外部公共IP)时会出现此问题。请尝试在PyBluez中创建一个地址为“”的服务器,并尝试连接到该服务器。如果这样做不起作用,我们可以从那里进一步诊断您的问题。很抱歉,这不是一个可靠的答案,我是StackOverflow新手,无法准确地发表评论,但我想提供一些帮助