本文整理匯總了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