本文整理汇总了Python中socket.BTPROTO_L2CAP属性的典型用法代码示例。如果您正苦于以下问题:Python socket.BTPROTO_L2CAP属性的具体用法?Python socket.BTPROTO_L2CAP怎么用?Python socket.BTPROTO_L2CAP使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类socket
的用法示例。
在下文中一共展示了socket.BTPROTO_L2CAP属性的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: listen
# 需要导入模块: import socket [as 别名]
# 或者: from socket import BTPROTO_L2CAP [as 别名]
def listen(self):
print("Waiting for connections")
self.scontrol = socket.socket(
socket.AF_BLUETOOTH, socket.SOCK_SEQPACKET, socket.BTPROTO_L2CAP) # BluetoothSocket(L2CAP)
self.sinterrupt = socket.socket(
socket.AF_BLUETOOTH, socket.SOCK_SEQPACKET, socket.BTPROTO_L2CAP) # BluetoothSocket(L2CAP)
self.scontrol.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.sinterrupt.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# bind these sockets to a port - port zero to select next available
self.scontrol.bind((socket.BDADDR_ANY, self.P_CTRL))
self.sinterrupt.bind((socket.BDADDR_ANY, self.P_INTR))
# Start listening on the server sockets
self.scontrol.listen(5) # Limit of 1 connection
self.sinterrupt.listen(5)
self.ccontrol, cinfo = self.scontrol.accept()
print ("Got a connection on the control channel from " + cinfo[0])
self.cinterrupt, cinfo = self.sinterrupt.accept()
print ("Got a connection on the interrupt channel from " + cinfo[0])
# send a string to the bluetooth host machine
示例2: __init__
# 需要导入模块: import socket [as 别名]
# 或者: from socket import BTPROTO_L2CAP [as 别名]
def __init__(self, peer):
s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_RAW,
socket.BTPROTO_L2CAP)
s.connect((peer,0))
self.ins = self.outs = s
示例3: __init__
# 需要导入模块: import socket [as 别名]
# 或者: from socket import BTPROTO_L2CAP [as 别名]
def __init__(self, bt_address):
if WINDOWS:
warning("Not available on Windows")
return
s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_RAW,
socket.BTPROTO_L2CAP)
s.connect((bt_address, 0))
self.ins = self.outs = s
示例4: l2cap_connect
# 需要导入模块: import socket [as 别名]
# 或者: from socket import BTPROTO_L2CAP [as 别名]
def l2cap_connect(dst, src=None, mtu=None):
sock = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_SEQPACKET, socket.BTPROTO_L2CAP)
if src is not None:
sock.bind(src)
if mtu is not None:
set_imtu(sock, mtu)
sock.connect(dst)
return sock
示例5: kernel_disconnect_workarounds
# 需要导入模块: import socket [as 别名]
# 或者: from socket import BTPROTO_L2CAP [as 别名]
def kernel_disconnect_workarounds(self, data):
#print 'PRE KERNEL WORKAROUND %d' % len(data)
def noop(value):
return value
if (sys.version_info > (3, 0)):
ord = noop
else:
import __builtin__
ord = __builtin__.ord
if len(data) == 22 and [ord(elem) for elem in data[0:5]] == [0x04, 0x3e, 0x13, 0x01, 0x00]:
handle = ord(data[5])
# get address
set = data[9:15]
# get device info
dev_info = self.get_device_info()
raw_set = [ord(c) for c in set]
raw_set.reverse()
#addz = ''.join([hex(c) for c in set])
#set.reverse()
addz = "%02x:%02x:%02x:%02x:%02x:%02x" % struct.unpack("BBBBBB", array.array('B', raw_set))
socket2 = BluetoothSocket(socket.AF_BLUETOOTH, socket.SOCK_SEQPACKET, socket.BTPROTO_L2CAP)
socket2.bind_l2(0, dev_info['addr'], cid=ATT_CID, addr_type=0)#addr_type=dev_info['type'])
self._l2sockets[handle] = socket2
try:
result = socket2.connect_l2(0, addz, cid=ATT_CID, addr_type=ord(data[8]) + 1)
except:
pass
elif len(data) == 7 and [ord(elem) for elem in data[0:4]] == [0x04, 0x05, 0x04, 0x00]:
handle = ord(data[4])
socket2 = self._l2sockets[handle] if handle in self._l2sockets else None
if socket2:
# print 'GOT A SOCKET!'
socket2.close()
del self._l2sockets[handle]
示例6: _bind
# 需要导入模块: import socket [as 别名]
# 或者: from socket import BTPROTO_L2CAP [as 别名]
def _bind(self, sa):
r = self.libc.bind(self.fileno(), self.libc.string(sa), len(sa))
if r != 0:
raise IOError(get_errno(), os.strerror(get_errno()))
# bind to BTPROTO_L2CAP socket
示例7: _connect
# 需要导入模块: import socket [as 别名]
# 或者: from socket import BTPROTO_L2CAP [as 别名]
def _connect(self, sa):
r = self.libc.connect(self.fileno(), self.libc.string(sa), len(sa))
if r != 0:
raise IOError(get_errno(), os.strerror(get_errno()))
# connect to BTPROTO_L2CAP socket