Python的tcp学习记录

参考

ASCII对应码表-键值(完整版)
网络传输:大小端
Qt网络编程实现TCP通信
TCP/IP通讯与socket编程
Qt一步步搭建TcpServer1——封装QTcpServer,QTcpSocket
qtcpserver官方文档
TCP 通信详解 以及代码实现(python)
网络通信开发实战(基于TCP原理实现两台主机之间实现远程文件的收发应用)python实现

多进程多线程交互以及数据共享效率问题

多进程 运行时间691s


import multiprocessing
import time

def decode(token_queue):
    with open("./token916.txt", "r") as t:
        csv = t.readlines()
        with open("./Raw-0506-4-1-Camera-Timestamp.csv", "r") as f:
            dataread = f.readlines()
            for i in range(len(dataread) - 1):

                data = dataread[i + 1]  # 读取行数
                timestamp = data[0:8]  # 取出时间戳

                lines_with_keyword = [line.strip() for line in csv if timestamp in line]
                # SendCommMsg(result, 7003)
                for i, line in enumerate(lines_with_keyword, 1):
                    # print(f"时间戳'{timestamp}',对应的类型:{line[11:13]},对应的真值:{line[15]}")
                    if int(line[11:13]) == 67:
                        string = data[10:30]  # 取出字符串
                        #print(string)
                        a = [ord(j) for j in string]  # 将字符串转为十进制
                        # print(string)
                        if int(line[15]) < 5:
                            b = [item - int(line[15]) for item in a]
                        else:
                            b = [item + int(line[15]) for item in a]
                        path = ''.join([chr(i) for i in b])
                        print(f"时间戳'{timestamp}'", path)
                        token_queue.put(path)

def OD(token_queue):
    while (True):
        if token_queue.empty():
             break
        else:
            path = token_queue.get()
            time.sleep(0.2)
            print("get path:", path)
            continue


if __name__ == '__main__':
    token_queue = multiprocessing.Queue()
    t1 = multiprocessing.Process(target=decode, args=(token_queue,))
    t2 = multiprocessing.Process(target=OD, args=(token_queue,))
    begin_time = time.time()
    t1.start()
    time.sleep(2)
    t2.start()
    t1.join()
    t2.join()
    end_time = time.time()
    print("parallel time: ", end_time - begin_time)

多线程运行时间1438s

if __name__ == '__main__':
    token_queue = queue.Queue()

    thread1 = threading.Thread(name='decode', target=decode, args=(token_queue,))
    thread2 = threading.Thread(name='OD', target=OD, args=(token_queue,))
    thread1.start()
    thread2.start()
    begin_time = time.time()
    decode(token_queue)
    time.sleep(2)
    OD(token_queue)
    end_time = time.time()
    print("parallel time: ", end_time - begin_time)

多线程改多进程有一些提升,但肉眼可见queue队列的存取速度实在太慢。准备尝试用array共享内存的方式

Python address already in use

服务器端的端口号和客户端的端口号没有关系
一般服务器是需要BIND指定端口号的,客户端可以BIND也可以不BIND(BIND后关闭SOCKET需要一段时间由系统释放这个端口,所以客户端一般不BIND)
服务器端需要指定端口,只有这样客户端才知道确定连接那个端口。 而客户端连接服务器程序后占用的端口,默认是由系统自动分配的系统中可用的端口,(这个端口号码,可以通过服务端调用accept函数得到)

换socket_server函数(未尝试)
https://blog.csdn.net/fengmm521/article/details/78446416

最终解决:接收信息时要设置本地的ip地址和绑定本地地址,而发送消息需要连接对方的ip地址,由于这俩的ip初始化时设置的是同一个(之前在同一台电脑所以是同一个ip),所以在服务端和客户端分别将接发信息函数里的ip改一下就行了。

发送数据报文

有些数据只知道占几个字节,先用pack占用字节然后直接可以与bytes后的报文相加
Python struct.pack()函数用法解析

length = 20  #数据长度
len = struct.pack('i',length)  #小端存储 四字节报文内容长度
msg = bytes([msg_head])+len+bytes([msg_end])

需要放入二维数组,查了资料,发现numpy的tostring和tobytes都用不了
二维数组的定义、使用的几种方法
将numpy array转换为bytes
这个没仔细看:python下字节流数据转化为numpy数组

 auv = [[[6] for i in range(4)] for i in range(2)]
 box = str(auv).encode()

大小端转换

参考

int.from_bytes(bytes, byteorder=‘big’, *, signed=False)
返回由给定字节数组所表示的整数。
int.from_bytes(b’\x00\x10’, byteorder=‘big’)
16
int.from_bytes(b’\x00\x10’, byteorder=‘little’)
4096
int.from_bytes(b’\xfc\x00’, byteorder=‘big’, signed=True)
-1024
int.from_bytes(b’\xfc\x00’, byteorder=‘big’, signed=False)
64512
int.from_bytes([255, 0, 0], byteorder=‘big’)
16711680
官方文档

小端字节序:低字节存于内存低地址;高字节存于内存高地址。
如一个long型数据0x12345678        
0x0029f458  0x78        
0x0029f459  0x56        
0x0029f45a  0x34        
0x0029f45b  0x12
大端字节序:高字节存于内存低地址;低字节存于内存高地址。        
0x0029f458  0x12        
0x0029f459  0x34        
0x0029f45a  0x56        
0x0029f45b  0x79

网络字节序:就是大端字节序。

python struct.pack 的结果
>>> import struct
>>> value=0x12345678
>>> my_bytes=struct.pack('<L', value)
>>> for b in my_bytes:\
...     print(hex(b))
...
0x78
0x56
0x34
0x12

or

>>> struct.pack('i', 1)
b'\x01\x00\x00\x00'

测试大小端代码(暂存)

import random
import time
import sys
import struct
import binascii
import numpy


    # di = b'123456'      # di = b'3d64f7247a'
    # do = big_small_end_convert(di)
    # doi = big_small_end_convert(do)
    # print(di)
    # print(do)
    # print(doi)
msg_c = 0x43
msg_g = 0x47
msg_o = 0x4F
msg_s = 0x53
msg_p = 0x50
msg_u = 0x55
msg_l = 0x4C
msg_r = 0x52

msg_head = 0x02
msg_end = 0x03

a0 = 0x30  # 48   0
a1 = 0x31  # 49   1
a2 = 0x32
a3 = 0x33
a4 = 0x34
a5 = 0x35
a6 = 0x36
a7 = 0x37
a8 = 0x38
a9 = 0x39
integral = [a0,a1,a2,a3,a4,a5,a6,a7,a8,a9]
token_val = random.choice(integral)

# base = msg_type
# by = bytes(base,'UTF-8')    #先将输入的字符串转化成字节码
# hexstring = by.hex()
# a = int(hexstring,16)    #将16进制字符串转换成整数
# hex_name = hex(a)
# print(hex_name)

if __name__ == '__main__':

    length = 20  #数据长度
    len = struct.pack('i',length)  #小端存储 四字节报文内容长度
    print(len)
    msg_time = struct.pack('q',length)
    msg_boxtype = 1  # 0或者1
    auv = [[[6] for i in range(4)] for i in range(2)]
    box = str(auv).encode()
    msg_attribute = 2  #目标属性
    msg_long = struct.pack('d', length)
    msg_lat = struct.pack('d', length)
    msg_cols = struct.pack('h', length)
    msg_rows = struct.pack('h', length)
    auv2 = [[6] for i in range(3)]
    msg_imgdata = str(auv2).encode()
    msg = bytes([msg_head])+len+bytes([msg_o])+msg_time+bytes([msg_boxtype])+box+bytes([msg_attribute])+msg_long+msg_lat+msg_cols+msg_rows+msg_imgdata+bytes([msg_end])

    print(msg)
    
msg = bytes([msg_head,a1,a2,a3,a4,a5,a6,a7,a8,msg_l,token_val,msg_end])  #时间戳写0x30和48最终输出都是对应字符0
# print(msg)
token = msg[1:11]
# print(token)
#判断大小端
print(sys.byteorder)

#大小端转换
def big_small_end_convert(data):
    return bytes.decode(binascii.hexlify(binascii.unhexlify(data)))#[::-1]

if __name__ == '__main__':

    dy = b'\x00\x00\x00\x00\x03\xa5w\x19L\t'
    di = binascii.hexlify(dy)   #0000000003a577194c09
    print(di[0:4])   #16:18  4c
    # di = struct.pack("I%ds"%(len(dy),),len(dy),dy)
    #do = struct.unpack('>',di)
    #di = b'123456'
    #di = b'3d64f7247a'
    #do = big_small_end_convert(di)
    print(di)
    # for i in range(len(di)):
    #
    #     print(i)
    data = b'\x21\x34'
    val = struct.unpack('',di)[0]

    print(val)
    # a = str(msg)
    # print(a[2:5])

图像处理部分

通过 cv2 读取图片 RGB 数据

import cv2
import numpy as np

image = cv2.imread('234567.png')  # 读取图片
height, width, _ = image.shape  # 获取图像尺寸
bgr_data = np.zeros((height, width, 3), dtype=np.uint8)  # 创建存储BGR数据的矩阵
bgr_data[:,:,0] = image[:,:,0]  # Blue通道
bgr_data[:,:,1] = image[:,:,1]  # Green通道
bgr_data[:,:,2] = image[:,:,2]  # Red通道
bgr_data_reshaped = np.reshape(bgr_data, (-1, 3))  # 将每个通道的数据以每行的顺序变为一行
bgr_data_bytes = bgr_data_reshaped.flatten().tobytes()  # 输出转换后的数据
bgr_data_list = list(bgr_data_bytes)  # 将字节数据转换为列表
print(bgr_data_list)

#以下代码为读取图像
pixels =bgr_data_list
pixels = np.array(pixels).reshape(height, width, 3)
image = np.zeros((height, width, 3), dtype=np.uint8)  # 创建图像
image[:, :, 0] = pixels[:, :, 0]  # 蓝色通道
image[:, :, 1] = pixels[:, :, 1]  # 绿色通道
image[:, :, 2] = pixels[:, :, 2]  # 红色通道
cv2.imshow("Image", image)  # 显示图像
cv2.waitKey(0)
cv2.destroyAllWindows()

用matlab 将图片转为 BGR

Irgb = imread('test.jpg'); % rgb
[imgRows,imgCols,imgChannels] = size(Irgb);
% 转换为BGR
Ibgr = zeros(imgRows,imgCols,3); %(y,x,gray) row,cols,gray
Ibgr = uint8(Ibgr);
Ibgr(:,:,1) = Irgb(:,:,3);
Ibgr(:,:,2) = Irgb(:,:,2);
Ibgr(:,:,3) = Irgb(:,:,1);
ISerialRows = imgRows;
ISerialCols = imgCols;
ISerialZ = 3;
ISerial = 1:ISerialRows*ISerialCols*ISerialZ;
ISerial = uint8(ISerial);
for i = 1:1:ISerialRows
    for j = 1:1:ISerialCols
        iRows = (i-1)*ISerialRows;
        iCols = j-1;
        ISerial(iRows+iCols*3+1) = Ibgr(i,j,1);
        ISerial(iRows+iCols*3+2) = Ibgr(i,j,2);
        ISerial(iRows+iCols*3+3) = Ibgr(i,j,3);
    end
end
% 将bgr图像数据存储在ISerial.txt
dlmwrite('ISerial.txt',ISerial,'delimiter', '\t')

% 将bgr图像数据显示
imshow(Ibgr);
#/结果如下:
#138	178	197	143	183	202	143	183	202	140	180	199	139	178	200	142	181	203	145	182	204	143	180	202	140	177	199	140	177	199	143	180	200	146	183	203	149	185	203	148	184	202	144	180	196	140	176	192	139	173	189	141	177	193	142	179	193	136	178	191	136	178	190	135	180	191	136	182	190	135	181	189	141	185	192	135	179	186	139	181	188	133	175	182	132	176	141	181	200	147	187	206	150	190	209	146	186	205	143	182	204	144	183	205	147	184	206	146	183	205	147	184	206	145	182	202	143	180	200	143	181	199	145	181	199	144	180	198	142	178	194	140	176	192	138	174	190	139	176	190	138	177	191	135	177	189	134	179	190	135	181	189	137	183	191	137	183	190	138	182	189	138	182	189	147	189	196	142	184	191	137	179	144	184	202	149	189	207	151	191	209	147	187	205	143	183	202	142	182	201	143	183	202	143	183	202	140	180	199	138	178	197	137	177	196	138	178	196	142	180	198	144	183	198	145	184	199	145	184	199	143	182	196	139	181	194	138	180	193	135	180	191	135	180	191	133	180	188	135	181	189	136	182	189	137	181	188	136	178	183	139	179	184	133	175	180	131	173	146	186	204	149	189	207	149	189	207	145	185	203	141	181	199	140	180	199	139	179	198	138	178	197	137	177	196	137	177	195	139	179	197	142	183	198	145	186	201	147	188	203	150	189	204	148	190	203	144	186	199	139	184	195	136	181	192	136	182	190	134	181	189	133	179	186	132	178	185	136	181	185	143	185	190	139	179	184	138	176	181	136	174	179	133	173	145	186	201	146	187	202	143	186	201	142	185	200	140	183	198	137	180	197	132	175	192	128	171	188	124	167	184	125	168	183	126	169	184	128	171	186	128	171	186	128	172	185	128	170	183	125	170	181	127	172	183	123	170	178	121	168	176	122	170	176	123	169	176	121	168	172	123	165	170	124	165	168	107	145	149	113	150	154	123	158	162	130	165	169	130	167	133	175	188	133	175	188	132	176	189	134	177	192	133	176	191	129	172	187	121	164	179	115	158	173	123	166	181	123	166	181	123	166	181	123	168	181	125	169	182	125	171	182	127	172	183	126	173	181	127	174	182	126	174	180	125	173	179	124	171	175	125	170	174	124	167	170	119	160	163	115	152	156	95	127	132	102	132	137	108	138	143	122	152	157	128	160	122	167	178	121	166	177	121	166	177	122	166	179	122	166	179	120	164	177	114	159	172	110	155	168	114	159	172	115	160	173	116	161	174	115	164	174	119	165	176	119	168	176	123	170	178	124	171	179	118	166	170	120	168	172	119	166	170	116	161	164	114	157	160	113	152	154	104	139	142	95	126	129	61	88	92	61	86	90	60	85	89	83	108	112	103	132	124	169	180	122	167	178	119	164	175	118	163	174	117	161	174	117	161	174	117	162	175	118	163	176	118	163	176	119	165	176	118	167	177	118	167	175	116	165	173	115	164	172	114	163	171	114	164	170	115	164	166	121	169	171	121	169	171	118	162	163	118	157	159	116	151	154	106	135	139	94	119	121	64	85	87	59	78	81	49	68	73	61	80	85	78	100	123	169	177	122	168	176	120	167	175	120	167	175	119	165	176	119	165	176	119	165	176	119	165	176	118	167	177	118	167	177	120	169	179	121	170	178	121	170	178	121	171	177	119	171	177	121	172	175	126	174	176	125	171	172	126	170	171	123	163	162	120	156	156	103	133	134	94	117	119	83	103	104	67	80	82	62	74	76	55	66	70	51	66	69	48	67	124	170	178	123	169	177	121	168	176	120	167	175	120	166	177	120	166	177	120	166	177	120	166	177	119	168	178	120	169	177	121	170	178	122	171	179	122	172	178	122	172	178	120	173	176	122	173	175	122	170	171	123	167	166	126	168	167	126	164	164	119	150	151	92	115	117	78	96	97	71	83	85	74	81	84	69	74	77	63	69	74	54	63	67	46	60	122	170	176	122	170	176	121	168	176	120	167	175	120	167	175	119	166	174	119	166	174	119	166	174	118	167	175	119	168	176	120	169	177	121	171	177	121	171	177	121	171	177	121	172	175	124	173	175	126	173	171	126	169	166	129	169	167	132	166	165	120	148	148	85	105	106	75	87	89	73	78	81	76	77	81	66	67	71	64	67	72	58	64	69	55	67	120	168	174	120	168	174	120	167	175	119	166	174	119	166	174	118	165	173	118	165	173	118	165	173	117	166	174	118	167	175	118	168	174	118	168	174	117	167	173	117	167	173	118	169	172	121	170	172	120	167	165	120	163	160	119	158	156	122	154	153	112	136	136	77	95	96	75	82	85	72	75	79	77	76	80	67	63	68	62	60	66	58	62	67	56	66	117	167	173	117	167	173	117	166	174	117	166	174	119	166	174	119	166	174	119	166	174	119	166	174	119	166	174	119	166	174	119	167	173	118	166	172	116	164	168	116	164	168	118	166	170	120	168	170	123	170	168	126	169	166	124	161	157	124	155	152	114	136	134	79	95	94	79	84	85	71	73	74	73	69	74	66	62	67	61	59	65	59	63	68	53	65	117	167	173	117	167	173	118	167	175	119	168	176	121	168	176	121	168	176	121	168	176	121	168	176	120	167	175	120	167	175	119	167	173	117	165	171	115	163	167	116	164	168	119	167	171	123	171	173	122	169	167	129	172	169	127	164	160	127	158	155	113	135	133	73	87	86	68	73	74	58	57	59	64	60	65	63	59	64	62	62	68	60	66	71	53	67	116	166	172	117	167	173	118	167	175	119	168	176	120	169	177	120	169	177	122	169	177	122	169	177	121	168	176	121	168	176	121	167	174	118	164	171	117	164	168	119	166	170	124	171	175	128	176	178	132	179	176	136	182	176	133	173	168	136	169	165	119	141	139	73	87	86	71	76	77	66	65	67	68	64	69	62	58	63	64	64	70	52	61	65	49	65	117	165	171	118	166	172	119	166	174	120	167	175	121	168	176	122	169	177	122	169	177	122	169	177	121	168	176	121	168	176	121	167	174	118	164	171	119	164	168	122	167	171	128	173	177	136	179	182	136	181	178	138	179	174	132	167	163	136	165	162	116	137	135	68	80	80	74	78	79	79	76	78	77	71	76	59	55	60	62	62	68	46	55	59	51	70	116	162	169	116	162	169	117	163	171	117	163	171	117	163	171	117	163	171	117	163	171	116	162	170	113	160	168	118	165	173	115	161	168	117	161	168	121	163	168	119	159	164	121	162	165	124	163	165	124	161	159	127	162	158	125	154	151	125	147	145	110	124	123	94	99	100	99	98	102	98	92	97	94	86	93	75	68	75	57	56	65	53	61	68	65	83	115	161	168	115	161	168	117	160	169	117	160	169	117	160	169	117	160	169	115	161	169	115	161	169	115	161	169	119	167	173	116	162	169	118	163	167	122	162	167	120	158	162	121	158	162	120	155	158	125	157	156	122	151	148	118	142	140	118	136	135	111	121	121	105	109	110	111	107	112	112	105	110	104	93	101	85	78	85	73	70	79	69	77	84	80	98	110	156	164	110	156	164	112	155	164	111	154	163	112	155	164	112	155	164	113	156	165	111	157	165	107	153	160	111	157	164	110	154	161	111	156	160	116	156	161	115	153	157	117	152	156	114	145	146	111	140	137	100	125	121	95	116	113	92	109	106	92	103	101	98	103	102	103	100	102	107	100	103	102	92	98	95	89	94	91	89	95	85	94	98	84	103	108	154	162	108	154	162	109	152	161	108	151	160	108	151	160	109	152	161	109	152	161	110	154	161	107	153	160	110	157	161	110	155	159	113	156	159	117	155	159	117	155	157	120	153	156	111	141	142	102	126	124	86	107	104	83	102	99	79	93	91	83	91	90	95	97	97	94	91	93	99	92	95	96	89	94	97	91	96	93	93	99	89	95	100	81	97	110	156	164	109	155	163	110	153	162	109	152	161	109	152	161	109	152	161	109	153	160	110	154	161	111	155	162	112	157	161	112	154	159	115	156	159	116	153	157	119	154	157	120	151	154	106	134	134	90	111	108	79	96	92	81	96	92	79	90	87	83	90	87	92	95	93	90	88	88	93	88	89	94	89	91	90	86	91	82	82	88	80	86	91	80	94	109	155	163	108	154	162	109	152	161	109	152	161	108	151	160	108	151	160	108	152	159	109	153	160	107	152	156	107	152	156	108	151	154	112	153	155	113	151	153	119	153	153	119	149	150	102	126	126	69	86	83	68	79	76	70	81	78	75	82	79	76	81	79	83	84	82	83	81	81	83	78	79	83	78	80	82	79	81	74	74	80	73	79	84	71	84	105	151	159	105	151	159	107	150	159	107	150	159	107	150	159	107	150	159	108	152	159	108	152	159	109	154	158	109	154	158	111	154	157	117	156	158	117	152	155	123	154	155	119	147	148	98	120	118	62	75	73	68	75	72	67	74	71	72	77	75	74	77	75	75	76	74	80	78	77	74	72	72	70	65	67	74	71	73	69	69	75	67	73	78	64	75	104	150	158	105	151	159	107	150	159	108	151	160	109	152	161	109	152	161	109	153	160	109	153	160	112	157	161	112	155	158	114	155	158	116	155	157	114	148	148	116	146	147	108	136	136	83	104	102	67	75	74	72	77	75	69	72	70	74	77	75	74	75	73	70	71	69	77	75	74	69	67	67	71	66	68	70	66	71	60	60	66	60	66	73	63	74	104	150	158	106	152	160	111	154	163	112	155	164	111	154	163	110	153	162	111	155	162	111	155	162	111	156	160	111	154	157	115	156	159	118	156	158	119	153	153	113	143	144	80	106	106	74	92	91	66	72	71	70	72	72	73	73	73	71	71	71	72	73	71	73	74	72	73	71	71	69	67	67	66	63	65	67	66	70	62	62	68	62	68	75	58	68	109	155	163	112	158	166	118	161	170	120	163	172	119	162	171	118	161	170	117	161	168	118	162	169	112	157	161	111	156	160	117	158	161	122	160	162	119	152	155	103	133	134	61	86	88	57	75	76	61	66	67	67	67	67	66	66	66	65	65	65	65	65	65	65	65	65	64	62	62	60	57	59	60	56	61	61	59	65	58	57	66	60	65	74	59	67	108	151	160	112	155	164	116	159	168	118	161	170	118	161	170	116	159	168	113	159	166	112	158	165	116	163	167	115	160	164	116	157	160	118	157	159	114	147	150	87	117	118	41	66	68	45	63	64	55	62	65	61	63	64	61	63	64	62	64	65	66	65	67	67	66	68	67	64	66	63	60	62	62	58	63	60	57	66	55	54	64	61	64	78	62	69	112	155	164	114	157	166	117	160	169	119	162	171	118	161	170	117	160	169	114	160	167	113	159	166	114	160	167	113	160	164	114	156	161	120	158	162	118	150	155	88	117	121	43	68	72	52	71	74	58	67	71	62	65	69	62	65	69	65	67	68	67	69	70	67	66	68	64	61	63	59	55	60	61	57	63	60	57	66	58	55	70	64	67	82	64	71	118	161	170	118	161	170	119	162	171	119	162	171	119	162	171	118	161	170	115	161	169	115	161	168	112	160	166	114	161	165	118	160	165	122	163	166	118	153	157	86	117	120	36	63	67	46	65	70	50	60	67	54	58	63	54	58	63	58	61	65	64	65	69	66	65	69	65	61	66	61	57	63	60	52	62	63	57	68	61	58	74	62	64	82	59	66	120	163	172	119	162	171	118	161	170	117	160	169	116	159	168	116	159	168	114	160	168	114	160	168	116	164	170	117	163	170	117	161	168	121	161	166	117	151	157	94	124	129	53	79	85	61	81	86	60	72	78	59	65	72	53	59	66	55	59	64	60	63	68	63	63	69	66	62	68	65	60	69	64	56	67	63	56	69	59	56	72	63	64	84	70	76	122	166	173	120	164	171	121	162	171	120	161	170	117	160	169	118	161	170	116	162	170	115	162	170	115	162	170	114	160	167	117	161	168	119	161	166	122	158	164	120	152	157	98	124	130	108	127	134	99	112	120	86	96	103	69	77	84	59	65	72	57	59	67	57	56	65	60	55	64	61	53	63	63	54	67	62	55	70	58	54	73	65	66	87	81	88	120	162	169	118	160	167	117	159	166	116	158	165	114	157	166	115	159	166	113	159	167	112	160	166	115	161	169	114	160	167	118	162	169	120	162	169	122	159	167	125	159	165	105	134	141	109	132	140	114	131	140	99	109	119	74	83	93	60	65	74	56	57	67	57	56	66	60	56	67	63	59	71	60	53	68	63	57	74	59	55	74	55	56	77	63	68	114	153	161	112	154	161	111	153	160	112	154	159	110	154	161	110	155	159	109	153	160	105	152	156	106	150	157	106	150	157	113	157	164	116	160	167	119	158	166	120	159	168	111	146	156	91	121	132	95	114	129	102	115	131	86	93	110	66	69	84	53	52	68	63	62	78	61	61	75	53	54	68	59	58	74	57	56	72	58	56	75	58	56	78	56	57	115	154	162	115	154	162	114	156	161	114	156	161	110	155	159	108	153	157	106	151	155	106	151	155	104	149	153	106	151	155	114	158	165	115	159	166	112	153	162	113	154	163	111	149	161	101	135	148	96	119	134	94	109	125	80	87	104	74	74	92	64	62	81	69	68	84	67	67	83	66	69	83	62	65	79	61	61	77	60	58	77	57	55	77	57	55	113	155	162	115	157	164	116	158	163	115	157	162	109	154	158	106	151	155	102	150	152	101	149	151	100	147	151	100	147	151	106	151	155	107	152	156	106	148	155	107	149	156	109	150	159	110	145	155	107	131	143	98	114	127	80	87	102	73	76	90	67	67	81	71	71	83	68	70	81	68	72	83	67	71	82	67	69	80	62	62	76	58	56	75	56	56	113	155	162	114	156	163	115	157	162	114	156	161	110	155	159	107	152	156	102	150	152	100	148	150	101	148	152	97	144	148	98	143	147	100	145	149	104	146	153	105	147	154	106	148	155	109	146	154	119	147	154	115	134	142	95	105	115	83	87	98	76	77	87	83	84	94	77	82	91	74	80	87	69	75	82	70	72	82	64	64	76	60	60	74	59	60	113	155	162	112	154	161	109	154	158	110	155	159	111	156	160	109	154	158	104	152	154	101	149	151	105	153	155	102	150	152	102	147	150	103	148	151	105	150	154	104	149	153	105	147	152	111	149	154	113	143	148	110	132	137	94	108	114	84	92	99	76	79	87	81	85	90	74	80	85	70	79	83	68	75	78	70	74	79	65	67	75	63	63	75	64	64	113	155	162	111	153	160	107	152	156	108	153	157	110	155	159	110	155	159	106	154	156	103	151	153	104	152	154	109	157	159	111	156	159	109	154	157	108	153	156	103	148	151	105	147	152	115	153	157	124	155	156	114	139	141	100	115	118	92	103	107	81	87	92	76	83	86	67	76	79	69	79	79	68	76	76	68	73	74	66	69	74	64	66	74	64	65	111	156	160	109	154	158	107	152	156	106	151	155	108	153	156	109	154	157	108	153	156	107	152	155	107	153	154	115	161	162	114	160	161	110	156	157	110	156	157	108	154	155	106	151	154	115	156	158	123	157	156	111	139	139	91	109	110	79	92	94	67	76	79	67	74	77	62	71	74	65	75	75	71	79	79	68	73	74	65	68	72	63	66	71	60	62	112	157	161	110	155	158	108	153	157	106	151	154	106	151	154	107	152	155	108	153	156	108	153	156	112	158	159	117	163	164	112	158	159	108	154	155	115	161	162	116	162	163	111	157	158	115	157	156	116	153	151	110	139	136	84	104	105	65	78	80	58	67	70	73	82	85	78	87	90	77	87	87	75	83	83	68	73	74	65	68	72	61	64	69	56	57	111	156	159	111	157	158	111	154	157	110	154	155	109	153	154	109	153	154	110	154	155	111	155	156	116	160	161	117	161	162	117	161	160	115	159	158	116	160	159	118	162	161	117	164	162	120	163	160	124	161	159	112	143	142	73	94	95	63	78	80	62	73	77	83	92	95	83	92	95	78	90	90	72	82	82	66	74	74	59	62	66	55	58	63	56	57	111	157	158	111	157	158	112	156	157	111	155	156	110	154	155	108	152	153	108	152	153	108	152	153	115	159	160	116	160	161	116	160	159	115	159	158	116	160	159	119	164	161	118	165	162	121	164	161	122	161	159	113	144	143	79	100	101	73	88	90	68	79	83	79	88	92	72	84	86	69	81	83	68	78	78	65	73	73	60	63	67	58	61	66	57	59	112	156	155	113	157	156	113	157	156	112	156	155	112	154	153	109	151	150	107	149	148	106	148	147	102	144	143	103	145	144	104	146	145	104	146	145	103	148	145	105	150	147	106	151	148	108	152	146	115	154	152	107	139	138	77	100	102	74	91	94	68	79	83	74	83	87	65	77	79	65	77	79	71	80	83	71	78	81	69	72	77	68	70	78	66	68	111	156	153	112	157	154	112	157	154	110	154	153	109	151	150	106	148	147	104	146	145	103	145	144	107	147	146	106	148	147	106	148	147	106	148	147	107	150	147	106	151	148	106	152	146	108	152	146	107	146	144	104	136	135	77	100	102	72	89	92	64	75	79	69	80	84	64	77	79	65	78	80	67	79	81	71	78	81	71	74	79	70	73	78	68	70	112	156	150	112	156	150	111	155	149	109	152	149	108	148	146	105	145	143	104	144	143	104	144	143	104	142	142	103	143	142	103	143	141	101	144	141	101	144	141	100	143	140	99	143	137	102	143	138	104	144	139	107	140	136	80	104	104	69	87	88	59	71	75	69	80	84	66	79	81	65	78	80	68	80	80	70	80	80	71	76	79	71	74	79	69	71	109	153	146	109	153	146	108	152	146	105	149	143	105	145	143	104	144	142	104	142	142	105	143	143	105	143	143	104	142	142	104	143	141	103	143	141	102	142	140	98	141	138	98	142	136	100	141	136	97	137	132	104	137	133	79	103	103	66	84	85	55	67	71	68	80	82	67	80	82	65	79	78	70	82	82	71	81	81	72	77	80	71	76	79	69	75	107	152	143	107	152	143	108	150	143	106	148	141	106	146	141	105	145	140	107	144	142	107	144	142	106	142	142	102	140	140	102	141	139	103	143	141	102	142	140	100	140	138	97	141	135	100	141	136	98	139	132	101	135	129	74	98	96	62	80	79	50	63	65	62	74	76	63	76	78	65	79	78	68	80	80	68	79	77	69	74	75	69	74	77	68	74	107	150	141	107	150	141	107	149	142	107	149	142	106	146	141	106	146	141	107	144	142	108	145	143	107	143	143	103	141	141	104	143	141	106	145	143	105	145	143	102	142	140	100	144	138	103	144	139	108	148	143	106	140	134	72	99	96	60	81	79	45	60	62	56	68	70	59	71	71	66	78	78	71	83	83	72	82	82	71	79	79	72	79	82	73	82	107	148	141	107	148	141	106	146	141	106	146	141	106	146	141	106	146	141	105	145	140	104	144	139	104	143	141	106	145	143	107	146	144	104	144	142	102	142	140	103	143	141	102	145	142	104	145	140	105	145	140	108	143	139	78	106	106	65	89	89	50	68	69	48	61	63	61	70	73	65	74	77	72	81	84	71	80	83	71	80	83	73	85	87	70	83	110	151	144	110	151	144	110	150	145	111	151	146	112	152	147	113	153	148	113	153	148	112	152	147	110	149	147	112	151	149	112	152	150	111	151	149	110	150	148	111	151	149	109	152	149	111	151	149	111	151	146	115	152	148	90	121	120	80	104	104	58	76	77	44	57	59	49	58	61	51	58	61	82	89	92	95	102	105	98	107	110	86	98	100	67	80	109	150	143	109	150	143	110	151	144	111	152	145	113	153	148	114	154	149	114	154	149	114	154	149	114	154	149	117	157	152	117	158	153	116	157	152	116	156	154	117	157	155	118	158	156	117	157	155	113	152	150	118	155	153	102	133	132	94	118	118	65	83	84	45	57	59	45	52	55	48	53	56	86	91	94	104	111	114	110	120	120	90	102	102	65	79	107	148	141	107	148	141	107	148	141	107	148	141	108	148	143	109	149	144	108	148	143	108	148	143	113	153	148	116	156	151	117	158	153	116	157	152	116	156	154	117	157	155	118	158	156	118	158	156	112	151	149	115	152	150	106	137	136	99	123	123	68	83	85	46	58	60	47	54	57	54	59	62	78	83	86	90	95	96	91	99	99	72	82	82	57	69	107	148	141	107	148	141	106	147	140	106	147	140	106	148	141	105	147	140	104	145	140	104	145	140	109	150	145	112	153	148	115	156	151	114	155	150	114	155	150	115	156	151	116	157	152	116	157	152	114	153	151	117	151	150	111	139	139	100	124	124	66	82	81	49	59	59	51	56	57	58	62	63	80	84	85	78	84	83	73	81	80	61	72	70	58	69	106	147	140	106	147	140	106	147	140	106	147	140	106	148	141	106	148	141	105	146	141	104	145	140	109	150	145	112	153	148	114	155	150	114	155	150	114	155	150	115	156	151	115	156	151	116	156	151	115	152	150	114	148	147	113	141	141	103	124	125	68	82	81	53	63	63	54	59	60	60	65	64	80	85	84	74	79	78	72	78	77	64	72	71	64	72	104	145	140	104	145	140	104	145	140	105	146	141	106	147	142	107	148	143	104	148	142	104	148	142	107	151	145	110	154	148	112	156	150	112	156	150	114	155	150	114	155	150	115	156	151	115	155	150	114	151	149	115	147	146	116	142	142	103	124	125	69	83	82	61	69	69	60	65	64	63	65	65	68	70	70	63	68	66	65	72	69	58	67	64	61	70	106	147	142	105	146	141	106	147	142	107	148	143	108	149	144	106	150	144	106	150	144	105	149	143	106	150	144	109	153	147	112	156	150	111	155	149	113	154	149	113	154	149	114	155	150	114	154	149	118	155	153	117	149	148	118	144	144	103	123	124	70	82	82	63	71	70	62	67	66	63	65	65	66	69	67	61	66	64	64	69	67	59	66	63	64	73	104	144	142	105	145	143	106	150	144	108	152	146	108	152	146	107	151	145	107	151	145	108	154	148	108	154	148	106	152	146	107	151	145	107	151	145	112	153	148	114	155	150	114	155	150	115	155	150	120	154	153	124	155	154	116	140	140	106	126	127	68	80	80	66	72	71	64	69	68	63	66	64	64	67	65	60	65	63	61	66	64	64	71	68	62	70	105	145	143	105	145	143	104	147	144	106	150	144	107	150	147	105	151	145	106	152	146	108	154	148	104	150	144	105	151	145	109	153	147	110	154	148	112	153	148	112	153	148	110	151	146	110	150	145	120	154	153	124	155	154	108	132	132	102	120	119	69	82	80	67	73	72	67	72	70	66	69	67	61	64	62	60	65	63	57	64	61	53	62	59	56	64	115	155	154	113	153	152	109	151	150	110	153	150	110	154	153	111	156	153	113	158	155	113	160	157	111	158	155	113	160	157	118	163	160	121	164	161	121	161	159	118	158	156	117	156	154	118	155	153	117	149	148	119	147	147	92	114	112	85	103	102	64	77	75	63	69	68	71	74	72	72	73	71	70	73	71	72	77	75	65	71	70	55	63	62	55	65	121	161	160	115	157	156	111	153	152	109	153	152	110	154	153	109	156	154	111	158	156	113	160	157	115	162	159	116	163	160	119	164	161	119	164	161	121	161	159	118	158	156	115	154	152	114	151	149	119	151	150	115	143	143	81	103	101	76	92	91	67	78	76	66	72	71	79	82	80	83	84	82	77	80	78	77	82	80	68	74	73	53	63	63	52	64	122	163	165	118	159	161	115	156	158	113	157	158	114	158	159	113	159	160	115	161	162	114	163	161	116	163	161	116	163	161	119	163	162	120	164	163	124	164	163	120	160	159	114	152	152	110	146	146	119	150	149	111	137	137	78	99	97	73	89	88	70	81	79	72	77	76	82	85	83	85	86	84	81	83	83	75	81	80	64	72	72	52	62	62	51	63	122	163	165	120	161	163	117	161	162	118	162	163	118	164	165	118	164	165	118	166	167	119	167	168	122	169	167	122	169	167	126	170	169	130	174	173	135	175	174	130	170	169	122	160	160	115	151	151	120	151	150	104	130	130	82	103	101	78	92	91	77	85	84	77	82	81	82	85	83	82	85	83	83	85	85	73	79	78	66	74	74	51	63	65	51	63	114	155	158	115	156	159	115	158	161	118	161	164	116	161	164	116	161	164	114	162	163	116	164	165	118	166	167	120	166	167	125	169	170	128	172	173	134	174	173	131	171	170	125	163	163	121	157	157	124	155	154	102	126	126	90	108	107	82	96	95	79	87	86	84	89	88	86	88	88	88	90	90	86	88	88	78	84	83	75	83	83	55	67	69	52	64	115	156	159	116	157	160	118	161	164	121	164	167	119	164	167	117	162	165	115	163	165	116	164	166	116	164	166	117	165	167	119	164	167	123	167	168	126	167	169	125	167	166	126	166	165	127	163	163	121	149	149	92	113	114	86	101	103	73	85	85	70	76	75	78	83	82	83	83	83	89	89	89	98	100	100	94	99	100	92	101	104	69	80	84	59	72	115	156	159	116	157	160	115	157	162	115	157	162	112	157	161	113	157	164	113	159	166	115	161	168	116	163	167	117	164	168	116	163	167	123	168	171	121	167	168	122	166	165	126	170	169	126	165	163	120	145	147	81	99	100	69	82	84	70	80	80	66	71	70	74	74	74	80	81	79	78	78	78	75	77	77	68	73	74	67	76	80	64	76	82	60	75	114	154	159	114	154	159	112	154	161	112	154	161	109	152	161	110	153	162	111	157	165	113	159	167	117	163	171	119	165	172	116	162	169	116	163	167	120	165	168	123	169	170	124	171	169	116	156	155	114	139	141	75	92	95	63	75	79	65	74	77	64	68	69	72	74	75	79	79	79	74	76	76	61	65	66	58	65	68	58	70	76	49	64	73	70	88	115	157	164	115	157	164	113	154	163	112	153	162	110	152	164	112	154	166	112	157	168	114	159	170	112	157	168	118	163	174	119	162	171	120	164	171	125	170	174	129	174	177	123	167	168	100	139	141	73	100	104	47	66	69	48	63	66	59	70	74	60	67	70	65	70	73	68	71	75	64	69	72	56	62	67	47	57	64	45	60	69	45	63	74	107	129	119	159	171	118	158	170	116	155	169	114	153	167	112	153	168	114	155	170	114	157	172	116	159	174	116	159	174	120	164	177	119	161	173	117	160	169	117	161	168	116	161	165	105	148	151	79	117	121	50	79	83	35	57	62	44	63	68	58	72	78	57	67	74	59	67	74	62	68	75	61	69	76	58	67	76	46	61	70	40	58	69	51	73	85	129	155	120	159	174	118	157	172	114	155	170	112	153	168	112	152	170	114	154	172	113	156	173	115	158	175	121	164	181	120	163	178	115	157	170	114	156	168	115	156	165	115	157	164	110	152	159	97	135	140	69	101	106	48	74	80	47	69	75	50	68	75	47	59	69	50	60	70	53	62	75	54	66	78	52	65	79	52	69	82	49	70	85	75	101	117	135	166	121	159	177	119	157	175	115	155	173	114	154	172	114	154	173	115	155	174	113	155	174	114	156	175	117	160	177	116	159	176	116	157	172	120	162	175	121	161	173	119	160	169	121	162	171	115	154	162	97	131	137	69	99	104	53	79	86	49	70	78	47	63	75	50	63	77	50	63	79	50	65	81	43	59	76	43	63	80	44	68	86	84	114	131	129	163	123	160	180	121	158	178	118	158	177	118	158	177	118	158	177	118	158	177	115	157	176	114	156	175	114	157	174	116	159	176	118	159	174	120	162	175	116	156	168	109	150	159	108	149	158	102	141	149	109	145	151	83	115	121	68	95	105	63	85	97	63	79	95	65	79	97	65	79	98	69	83	105	71	87	110	61	84	106	61	88	109	96	127	148	127	162	122	159	179	122	159	179	121	158	178	119	159	178	119	159	178	119	159	178	115	157	176	113	156	173	112	155	172	116	159	174	116	157	172	116	158	171	112	151	165	109	149	161	112	152	164	106	145	154	107	143	151	85	118	127	73	101	112	65	88	103	62	79	98	67	81	103	75	89	112	86	101	127	79	98	125	72	95	121	73	100	126	97	129	152	113	150	126	162	180	123	161	179	122	160	178	122	160	178	118	158	176	117	157	175	115	158	175	116	159	176	115	158	175	118	161	176	117	160	175	113	157	170	113	155	168	113	155	167	110	152	164	107	148	157	102	138	148	90	125	135	77	106	120	70	95	111	64	83	104	73	89	112	73	87	115	81	98	125	78	99	127	75	99	127	76	105	132	90	124	148	111	147	124	160	178	124	160	178	124	160	178	122	160	178	122	160	178	119	159	177	119	159	177	117	160	177	120	163	178	123	166	181	123	167	180	119	163	176	119	161	174	118	160	173	116	158	171	111	153	165	108	146	158	100	134	147	89	118	133	80	106	123	73	94	116	84	101	127	82	99	126	88	104	133	98	118	149	91	115	145	87	116	143	98	131	157	116	151	123	157	173	122	158	174	123	159	175	121	160	175	122	161	176	121	162	177	121	162	177	120	161	176	122	165	180	124	167	182	124	167	182	121	164	179	119	162	177	119	162	177	115	158	173	113	155	168	107	144	158	96	130	146	85	115	132	76	103	123	69	92	114	81	101	126	82	101	128	86	104	133	82	103	134	77	103	133	81	109	139	99	132	158	118	153	120	154	170	122	156	172	124	158	174	122	158	174	123	159	175	122	161	176	121	162	177	121	162	177	120	163	178	122	165	180	123	166	181	120	163	178	118	161	178	117	160	177	113	156	173	110	153	170	108	146	164	90	126	144	76	108	127	67	96	117	58	82	106	69	91	116	73	94	121	80	101	129	80	104	132	77	103	133	81	111	140	101	133	162	118	153	120	153	169	123	157	173	124	158	174	121	157	173	120	156	172	120	159	174	120	160	178	121	161	179	120	163	180	121	164	181	120	164	181	119	163	180	117	160	179	115	158	177	112	155	174	109	152	171	110	152	171	87	127	146	74	109	129	69	100	121	56	82	106	63	87	111	68	91	117	77	102	128	73	100	126	69	98	125	73	103	130	90	123	149	105	139	113	146	162	120	153	169	125	158	174	122	156	172	118	154	170	117	156	171	120	158	176	119	159	177	119	162	179	119	162	181	119	162	181	118	161	182	116	159	180	113	158	179	111	156	177	109	154	175	103	146	167	81	123	142	75	112	132	74	109	129	57	88	111	64	92	116	70	98	122	78	105	131	77	107	132	73	104	129	71	104	130	77	112	138	82	119	99	129	148	109	141	160	118	150	169	118	151	170	114	150	168	114	152	170	118	155	175	118	158	177	119	161	180	118	161	182	118	161	182	116	160	183	116	160	183	115	159	182	114	158	181	112	159	181	104	149	170	89	134	155	88	129	151	87	124	146	70	103	123	80	111	132	86	117	138	89	120	143	74	105	128	74	106	129	72	108	132	76	113	139	81	118	82	114	133	97	129	148	110	143	162	111	147	165	109	147	165	110	150	168	115	155	174	116	158	177	120	163	184	119	162	183	118	163	184	118	162	185	119	163	186	117	164	186	117	164	186	118	165	187	125	172	193	117	163	181	116	159	178	105	147	166	85	123	141	99	135	153	105	141	159	102	138	156	82	118	136	81	118	138	77	117	136	76	117	139	81	122	120	156	174	120	156	174	118	156	174	116	156	174	118	161	178	122	166	183	124	168	185	123	167	184	121	164	183	121	164	183	122	165	184	120	165	186	119	164	185	116	163	184	118	168	188	124	174	192	133	181	199	121	170	186	119	165	182	119	166	180	117	162	175	119	163	176	122	167	178	118	163	174	110	155	166	108	152	165	106	150	163	105	150	164	108	152	132	170	188	130	170	188	125	168	185	122	166	183	120	166	183	121	167	184	122	168	185	121	167	184	123	166	185	124	167	186	124	167	186	120	166	184	122	168	186	123	173	191	125	175	193	123	175	192	124	173	189	114	163	179	113	162	176	115	165	177	114	163	173	116	165	175	120	167	175	116	163	171	117	164	172	114	161	169	112	158	169	111	157	168	111	159	126	166	184	124	167	184	122	165	182	117	161	178	114	160	177	113	162	178	115	164	180	115	164	180	111	157	175	113	159	177	113	156	175	110	156	174	118	164	182	124	174	192	125	175	193	117	169	186	124	173	189	117	166	182	117	166	180	118	168	180	118	167	177	118	167	177	119	166	174	114	161	169	113	160	168	110	157	165	107	153	164	106	152	163	105	153	119	162	179	119	163	180	119	163	180	114	160	177	112	161	177	115	164	180	119	168	184	120	169	185	120	166	184	119	165	183	119	162	181	118	164	182	123	171	189	129	179	197	129	179	197	122	174	191	122	171	187	119	168	182	118	168	180	119	169	181	120	169	179	118	167	177	117	164	172	113	160	168	111	158	166	110	157	165	108	154	165	107	153	164	106	154	120	164	181	120	166	183	117	166	182	112	163	179	112	163	179	115	166	182	118	169	185	122	171	187	121	167	185	116	162	180	113	159	177	113	159	177	113	161	179	112	162	180	110	160	178	108	160	177	110	159	175	111	160	174	110	160	172	111	161	173	115	164	174	115	164	174	115	162	170	113	160	168	105	152	160	105	152	160	105	151	162	105	151	162	104	152	116	162	179	114	163	179	113	162	178	109	160	176	108	160	176	111	163	179	115	166	182	116	167	183	120	166	184	115	161	179	112	158	176	111	157	175	108	156	174	103	153	171	103	153	171	105	157	173	105	154	170	109	158	172	107	157	169	107	157	169	114	163	173	115	164	174	114	161	169	114	161	169	111	158	166	112	159	167	113	159	170	115	161	172	114	162	174	114	162	174	113	160	174	113	160	174	119	163	180	122	166	183	121	165	182	117	161	178	114	160	177	120	166	183	126	172	189	129	175	192	120	168	186	125	173	191	127	175	193	119	167	185	109	159	177	110	160	178	122	172	190	133	183	201	129	178	194	130	179	195	129	175	192	128	174	191	130	177	191	127	174	188	123	170	184	122	169	183	119	167	179	116	164	176	111	161	173	111	161	173	113	166	176	118	171	181	117	170	180	114	167	177	111	164	174	108	161	171	104	156	168	104	156	168	105	157	169	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255	255


通过tcp实现双方发送文字

服务器端代码

from socket import *

server_socket = socket(AF_INET, SOCK_STREAM)
host_port = ('', 8088)# 随便设置个端口号
server_socket.bind(host_port)
server_socket.listen(5)  # 客户端线程挂起的个数
new_socket, client_addr = server_socket.accept() #等待客户端的连接请求,当前函数是线程阻塞的函数,accept返回2个值,第一个:新的socket,第二个:客户端地址

data = new_socket.recv(1024)  #接收字节数据
print('服务器接收的数据是:', data.decode('utf-8'))
new_socket.send('收到!'.encode('utf-8'))# 服务器端发送数据给客户端

# 关闭套接字
new_socket.close()  # new_socket关闭,当前客户端的服务已经完成
server_socket.close()  # server_socket关闭,整个服务器全部关闭

如果想要一直接收,加个while1就行

# 这是服务器端
import socket
import threading

# 创建Socket TCP对象
Server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Server.bind(('172.20.10.3', 7001))   # 绑定本地端口
print('---------------------------服务器端--------------------------')

# 启动监听列队
Server.listen(5)

# 多线程任务
def send_msg(socket):          # 发送消息(任务线程)
    while True:
        msg = input(">>>")
        socket.send(msg.encode('utf-8'))


def recv_msg(socket):          # 接收消息(任务线程)
    while True:
        remsg = socket.recv(1024).decode('utf-8')
        print("客户端:" + f'{remsg}')
        if len(remsg) == 0:
            break


# 循环接纳客户端
while True:
    socket, addr_info = Server.accept()  # 返回值传参赋值
    threading.Thread(target=send_msg, args=(socket,)).start()
    threading.Thread(target=recv_msg, args=(socket,)).start()
    print(f'{addr_info}' + "客户端与与服务器连接成功...")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sink Arsenic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值