from socket import *
import time


def main():
    x = 0
    # 1.创建tcp_client_socket 套接字对象
    tcp_client_socket = socket(AF_INET, SOCK_STREAM)
    # 作为客户端，主动连接服务器较多，一般不需要绑定端口

    # 2.连接服务器
    # tcp_client_socket.connect(("81.68.220.135", 8096))
    tcp_client_socket.connect(("127.0.0.1", 9000))

    meg_list = [
        b'\x1f\x1f\x01\x00\x00\x00\xf3' +
        """<?xml version="1.0" encoding="utf-8"?><root><common><building_id>BD100100</building_id><gateway_id>TC888</gateway_id><type>id_validate</type></common><id_validate operation="md5"><md5>D38DD4B33BF37EEA7C8E0336A52F576C</md5></id_validate></root>"""
        .encode(),
        b'\x1f\x1f\x03\x00\x00\r`\xd9\xbb\xd8\x06\xc4\x10^\xe4\xb5\x169\xa4\xbc\xafse\xaf\xe9\xc1\x88\x82\xd0\xa8r\x7f\r\x17\x8a\x1by{\xba\xa12?\x02\xc9M \xa6\xcf\'P\xa5\x9f\xe9\xd3\x14s\xee\xdb#\x87\xbe=l,\x18h3-\x1a\xcf\xdd]\xd5_\xa2\xd30\x85rhJ\x8f\xff\\C\xcb\n\x97\xc9|\x87\x8em\xde\xba\xb5\xcf%\xefJ\x15\xf0\xe8\xad\x99\x8d&\x08a\xba7\x04\x8d\x1a\x88\xd1%\xa2~\xa1\x90[\x97}=Tt<\x05T\xb5=\xcco\xab\x83\xc6\x88(\xfc\x0f\x1e4\x7f\xfc\xe0O\xdcZ\x11 \x05Pu\x01\xefD\xf3h0\xd2f\xef\xe4nt\x02\x06\xdcMZ\xba\xf3\xe0\xde\x15\xb6\xed\xafy\x18\x02\xb6\x04\xb1\xf2\xab>A\xbcd\xa9p\x16*\xe0\xad\xe5G\x9c]\xe1IO \xad\x1bU>\t\xfbaNJ\xe0\xb7\x9a\x9d\x04\x8c\xe2j\x02\xa7\xac\xe8`K\x89\xc6t\x1d\xffH\tg3\x02F\x1b"\xb6a|\xbd\xacXPs\x94V\x9c\xd5\xa2"z\xa4\x9a\x91a\xa2\xf5P\xc0\xcd\x07\x8cm\x8f\xccx\xc6\xc2w,\xc3\x04\xbc\xd1p6\xad\x15\xcb|b\x9d\xefm+\x85~\x82\xf9\xa8\x02M\xc5\xe9\x07/\xa9!\xb3(\x02\x81\xb3X8Z\xd8T\xf5:\xd2\xe8t\xb0<3,k\x1b\x97\xe5\x1c6y\x87\xc6\x0e\xae\xc0\xf6dx\x0c\xe1\xd4\x03H,\x98\xc0Q\xb8\xda\x9b\xc3\xdfM\xe1\xc6@\xc1\xd3\xd8\x87\xf9y\x19\xd0\xb2<O\xc2\x8e\x1581c2\xc1\xd6C\x11\xcc\x9b\xfd\xfd\xfb\n\x9fB-\x06\xc1\x83\xfaV\x007/Ygwl\xa5\xcb\xb7\x06\x9d\xd2,\xf8\x19@\xfb\xe1\xf0\xb4\xa2\xce\xca\x00^\'\xc0w~~e\xad\xc1/#\xbd\xd4\xc5\x1e\xab\xcd4@\xadXUy\xdc\xe3u\xa3s\x1f\xe7\xdd3\x82O\xff&\'G\x1e9\x15\x19\x0c\xb2\xb5\xeb\x0f\xb8J\xf5\x17\xd369\xb7=\xfdQ\xfc \x96}o\x10\xbd\xa40Pv\x11IC\xd3\xdd\x1c1\x8b;\x8d\\[\x1f\x15M\x18\xdb\xdc\xed\xa5\xa6\xf0\xa3"<\x9c\x10\x8a5PK\x02\xac\xc5\xa3\\\xcbWX\xa6\xcc<\t>\x9b9\xdaR}\x07\x00\x85\x9e\x9c\xf2\xd7\x80\x902\xd1\xee\xd8\x94T\xfc]^\x96\x8d\xf5\xff\xe0E#P\xceH@{\x1b\xf7\xcbj\x0f\\a\xf4\xe4m\x8c\x7f\xf0I\xee\xe8.\xe8\x01aB\x7f\x18\xc9\x81a\x15\x18i\xaff\xb7\x95j\x9e\x04\xcf\xfc\xfc\x1e\x11\x81\xc0\xb9Q\xeb\xbc\xe5m\xdb\xe9\x03\xeb\'\x05))\x13\x96\xa7R\x99\x0c\xd3~L9m\x1d\xe4\xd9Rnk\xfcxq\xa4\'\xce\xc4\x13\xfa\xd9\x13G\xbdZx1\x12\xbe|\x0bF>ayA$\xd2\xcb\x8ar\x1f\xf6\xfd\xe6\x85\xc72\x8f\x0e\xa2[\x1d\xceW\xce\xb0\xdfoy\xa5u;\xf9a\xb0B\x01x\xc0u\xc3\xeci\x82k\xa2\xd2\x7f\xe1\x9eD`\x99\r\xf1\x91\xc7g\xe0$\x92WoLu\xbf\x17\'\xe23j\xf9\xa6<\xcf\x83\xd3\x85\x1b\xa6\xa1\x1aBOu\xd2\xdd{\xd8h\x8a8\xd5\x89\xfa\xc4\xfc\xce\xcdx~o,\x9bk$\xa3\xa4\x8f\x87\x08\xfd\xb7\x1dI\xb7\xa1S\x0b\x08\xb1\t\xc04\x0c\r\xd5\x84\\<.\xffE\x1a.\x9eF\xb5\n\xe6\xe8\xafK\x93\xe3*\x8e\x83\xacni\x92t2\xb6\xb2\xa6\x8d\xec\x93\x8b\x08!\xf3\xb4V\x81\xcd\x04\x89]\xa5\xb6\x9b\xaf(\x1a\xad\x1b\xd6\xad\xbf\x80(_\x10\xac\xc3(\rfU\xd3\xe2[h\xebg\xca\xfc\xea;\x0e\xbe~\xfd\xc7V{9\xf08\x07\xd4\x04\xef+\xb5\xe7m\xad\x13\x02w\xc6+Z"pRx\x81\xed\xf3\xb8\x9b8\xcaU\x8fc\xc7<\xa7\xb3 \xeb\xa4\xfe$\x91\xfe\x96\xcf\x1f\xe7Wd\x10\x00\x1c\rc\xfa\xd4\x89\x9ec\x97}E\xe5&I{s\x83\xee\x03\x92\x7f\xf1#\xad\xe9\xce\'o\xe2Z\x1b\x8c\xbc\x07\xe1\x0f \x04\x12P\xb6g\xe2\xbfiI\x05R\x12yV\x8a\xbdo%\xf0\x1c\xf5w\x1c\xebD \xf6*\n\x91\x15\xc3\xa8\x155\xa4\x88_\x8f\xf0\xdc\xccI=\x08',
        b'\xdd\xcbs\x8dNV\xc0\xd9\x04\x1e<*S\xd9\xfa*\xff\xf0I\xc8\x0fI\x16i+G"X\xcc\xb2\x15^\n\x0cTW\xe88\xe0\xfb\xabE\x9d3\xf5a\x00\x89`@Dq\xe4M5u\x9f\xc0Q\xef\xc3-<\xff$O\xf8\xa8\xb6\x1f\xa7\x11:\xa5h\xbe\xe8w\x81\xba\x8b\xf4\xb1\x11\n\xf7\n\x84\xda\x9b\'d\x13X8m\xb8I\x0e\xe8dD_5\x04\xfe}\xbf\xa6 \xb8\xc6\xe6\xdb\x06\xcajLo\x84\xe9\x04\xa4\xe67<]\xbf\xbd)"\xa01\x19j1\xa2O%8k\x0cP\xc6>\x15\x95\x10\xa02\'\x96[\xf0\xa9\x1a\x12j|e\xc3kDr|\xf5\x00\xb6\xce_n\xf0\xc7R\xcc\xb2\x93\x19\xdb"p\xa7*qD\x8d\xf6\x03+;\n\x98\x04\xcb\xea^c\xb7\xac>F\xda\x18\xf7\xbe2\xae\xed\xf2\xb7k\x9a+|\xec\x98\xa7\xb1\x00\xc8m[y\x12h\xa9\x90\xd8\xd8pG\xceT\x1b\xdd\xa04\xd9|\xaa*\xc0\xd6\xea`\xbf2\x84\x8d\xd3\x907\x87\x97\xefK\x83\xdc9\xf2\xd2>0\xeac\x8f\xb9\xfc\x8e\x8e\xcf\n\x9aj|\x04\xf2\xe9\x056\xa9\xf4\x12\x05X\x8fP\x86B\xff\x1f\xdd\xcb\x9c;+\x87\xfeH\x8d8\xb6x\x87I6\xc6P\x84\xb4\xc4\xed\xea\xb1\xa1Z%\x01\x94\xb4\x00\xc75\x90\xdc5\xed\xe9\x18\x9c\xa5\xbe\xad&\xfb{v\xef!\xe1\x17\xf9^\xdf\xab\x0b<t\x07\xb3\xbc\xd8j\xc8\x89\xf2W\xbc\xa5\xac\x87=\x82w\x06\xd8"\xd6\x9e\x7f3u\x19\xae\x0c\x9d\xe3M\xd1\x9f\xa9\xaf\xcdp]\x94;tl\xcc\x1f\x02a\xef\xe9\xc2\xb9\xcd\x7fl\xff\xbc\xa6\xcb\xe7a\x98R\xb2Iy\xed\x1f\x99\xbcK\x0eS\x93W1\x9eO\x997\x9a\xab\x0en\x06\x7f=\xc9\xa4e\x01R\xcby!\xd1\xfe\x92!\xc5Qf\x90oVZ\x8b\xcc\x9a\xa8\x89U\xf0\xfe\xa13\xa2Xvq\xe1\x1a\xbe!\xc1\xfa\xaaW+K\xf8\xc8?\x85\xa1\x00\r\xc3\xaa\x89}W$\xe3\x0bw\xff\xc3\x01\x99\xc63\xab\xe3\xa0u,{\xfb<z\x90@\x81|\xd2o@\xa4\xc5\x7f\xee\x91:4\xbd\xc7\xaa/\x03\x92\xd8\\\xc4l6B\xdc\xe9\x9eW\xeb{\x13\x1b\x86!\x890M\x034"\x8e\xa6h\x94\x18\x8e\xc1K\x04\xdd\x0e!z\xcb\xf1\xd4\xd9\x01\x80\x11\xcb\xfd\x9e\xa5J\xb9\xe3\xceT1:\xdd\xd1\xee\xbb\xad\x9a@P\xc5\x1b\xbeo[\xa4\xfce\xdf\xee\xd3\x9ey\x90d\xf8\xdb\x90\x9e\r\xa8;FU\xc3\xad\xd9\xe5\xb3\xda\x7fT7"\xef\xce\x01\xdc\xc6\x9c\x97\x99\x05\xdf\x15\x1d\xc1\x8bJ]\xc0\x0f\x087$\xfd\x85\xd3\x8e\x8e\x83\x06\xec\xa5\xae\xb9\x1c7nF\x0c\xccX\xa8\x0e\xf3\xb1e(\x19\x94\xe1T\x0ft#\xce\x9e\xa8\xe2R\xf3\xd8O\x89\x06\xdfP;\x9b \xcc\xed\x8bj&bJ\xd3a\xe34\x80\x03m\x02\xc4\x8a\x8ez.IL\xc4\x9chd\xe8\xffq0\xf0V\xcf)\x1bB\x00*7\xc8\xb6\xf62\x96\x1f9NCY]\xed\x0bQ\x9d=\xf0\x1e\xe9\x8a\xcf\xca\xfd\x9b\xa8\xa4q\xc5L\x82\xd0.q\xc1\xc1X]\x80\xda\x8e\x88G\xd3\x1d^\xd2%d\xe8\xc1\x18\xc2\xac\x1b\xa4\'\x19\x90\x9cC\x08\xb3>l\xea\xd4=\x97\\\xdc\x1e\x0c\xfa\x14\xc5\x8f\x90\xc9:\x85Y|\ri\xf9\xe0\xf6\xf8i\x89\x10S\x11\xfd\x13Of\xa6\x0e\xb8\xc5\xfe\x9bR*\xd8\xd2$\x0fT\x7fi=\xfb\x80w\x9b\n\x9a\xb2\xaf\xd07\x1b\xd3\x05\x00 \xf3?\xe2B\xe4k\xf5\xff)-\r\xb5\x18ACD\xabaCt\xe8\xbb\x9e\xe4\x1b5s\x97D\n\xc1\xbeM\x98=\x81\\\x0b\xc2\xcf\xd6e\xbc\xc1go\x15Q\xdb* \xf1\xe2R\xe5rh|\xf5k*\xa4!\xa8\x03\x0b\xc7\xeb\xf5\x9a=\xbd0\x8e\xd5},\x9d\xd0\x94\x95\xe6\xdc,\xbf\x8c\x8e\x11\xab\x935\xb4\x95\xb3\xc1v.`\x98g\xeed,$Ok\xefR\x90\x87\xbf\x83\x10\x84\xdb\xfd\xb0F\xb6\x88\xabO\xc2\xf4T\x9a\xd1\x9e\x00\t&\xcd\xb1<\xee\n\x93\xf5\xc1\x867\x9a\xc5\xe2\x8d',
        b'\xdeEvu\x90W\x9f3\x01\x04\xf9\xf5\x87\xc1^=R\x81PW;\x885\x8e\x9c\xfb\xc4\x9c\xe3\xe98R\x98\xce32\xea\xa0\'\xde\xc0o\xd3\xc1\x83$\xd1\x14\xeeR\xdf\xb5\xf2K\x16\x0b\xcbW\xda\xbc\x89\xddP\x92\n\x8a\xca\xd9\xb9\xcd\x93j\xe9\x10}\x81UgSrp\xc9Rn\xfdt\xe37\x87\xaf\x132\xd2\xd2\xc1\xef\xe8\xc2\xfb2k\x18}\x9c|\xf4\xc3\x1f\xe9\xb4\xa5n\'9Z!"$&b\xc1\x01p\xe0+$\x19\x97\xa3\xa3\x07\xf46\x18\xb7j\xb3\x0e\x1c\xd4P\xfc\x0e\x8b\xec\x84;\xb8\x83.\xdb\xbb(\x84\xab\x10\xd1\x11\xf4\x93F\xac7J\xc9\xb7\xd4\x8c\x8e\xe0c\xcc\x05\x1e/\x17d\xcb\xa4I\x14y\xca\xbe\xa5\x87\xc4\x05\xd4\x1e/\xc3`S#\n\xb90SB\x1e\x91\xc0*\xcd\xad\x95\xfaN\x8b5\x7f\xc6EOp\xd28\xd8S\x7f[\x97W\xcad\xb4\x05N\x97e.\xec \nD\xa6\x95NB\xa7*\x8a\x0f\x8d\x81\x86\xab\x81\xa6\x8e<\x06\xb1f\x87*n\x98\xd0\xd8#O?\xce;KI\x9f\xdb\x89[\x0c\x9a\xa4bu\xe1\xfe\x08[\x88_\x13\xd5\xda W?\xdb\xc8\x83\x05Uqs\x00\xab\xaa{)\x08\xf1K\xb9\x81\xe5k\xa0^\x16\xf3\xcci\xb5\xa6\x16\xe6.\xc0u~"\xba\xad!8\xfd\x17\xd1{c\xb3d\xa5\xf6\x8dn\xaa\xde\x9b\x06a\xb1t\xbd\xbfU\x9d\x91\xc8\x04\xaf\x82k\xf3\xa6\xeev[\xd6\x94\xa9t\xd0\x03DR \xef.\x8a\x90\x81\x08D\xbdS\x13$!\xe5\xdbt\xcbA\xb6\xd3\x1fST\x13\xf3\x0cU\xe1\\\xbc*Ho\x03#\x12\xb0\xda\xa6\x106\x14\xed\xc1\xbc5\\vu\xf7\xc8\\\x0f\xab\xe6\x7f\xc2O\xc7Q\xa8]\x9a\xc5O\x9f\x15\x98b\xbd\x89W\xbb\'\xf6%\xf8\x8fw\x80\x0c\xf6hmt\x9b\xf4\xe2\xb0\x00\xbc\xfa\xb0\xf9?5\xa5\xb8\x1b\xc6\xd5\xcaD\x0c\xa1]\xad\x02\x18\xb5%\xfd\xe7\xcb\xa8H6\x15nE*\x90\xc6R@*B{N\x93-\xec\xb5\x93\xb6\xdd\xc1g;\xfd:\x9c\xbf\xda"^\x9f\x9c\x98c5gS_\xeew\x9b\xb9\x83Mv\xe3\xf9\xac\x7f\x101\x90\xde\x88\x06#_b\xf0y\xd3}\xd0\xdcWV1\xed\xb2\xb0\xcd\x87\xab\x8a\\\xcdt\xb1\xf8w\xdd\x07\t\x9bY]C\xdb\x04\xfaM\xee\xdc\x8dl$\xe1\x16F\r9\xb2p\xc9i\x8d\xb4\x14\x08::\xf6gQm0\xf8\xe9s<\n\xe3~\x9aB\xa9\xc8,Z Lu$\x7f.\xe2\xda\x88\xa9,\xf4\xe6\xd2\x8e\xb8\xec\x1b\x0faL\xbb6\'$3/\xde\x03{\x16=\x1d\x83GYF\x9c\xf6\xca\x08\xcfa\x84!k\xf2\x85\xff\x9d\x99\xc6\x90\xd38\xf3b\xfcc\tT\xe9v\n\xd5\x9b\x93!\xb1\x13-\xe3~\xbe\xfa\xc7U\xb9\xb0\x08\x7fA#\x8d\xd6\x91\x8f\xd1Q\xc99\xde\xaa*\x9f(\xd1\xb9\xcf\x023\xde\xc5SG\x89rkc\x86\x13d\xac()\xc4\x147\xf3w^\x03\xd2\x1b\x17\xf7\x00yp\x0f\x8d\x0cs\nBL\x1b\xab:\xa0-w1\xb4\xf4\r\xd8\x80\xbc\xc9\xbd\t\xa2\xd5h\xfc,D\xf6[\xcf\xd3\x97\x1b\xcc/\\\xe0\x86\xc1\x87J\xa3\xefv\x15\xa09\xc9\xe5\x9dtC\x0e\xb6k\x9f\xd8\\\xc5\xd2\xc9\xb8\x13\xc6\xfaqu\x1f\xf0M\xa5\xff\xcc7\x8eH\x1a\xa4!daHQ\xef<\xa83\xbf\xdbu\xbd\x97\x05R\xb5;U\xc4^\x0f\xc8\xc0?N\xad\x13\xbci\xc1\x80\xb7%\xe3\x82\xb2\x9d\x12\'\xb2\xf6\xc3\x8b\x9a\xda\xf1$\xdc\x05\xd9s/\xce\x9a\xe3\x8b\x91\x11\xce\xea\x99%\xf7R\x9b\xdaAQ:\x95\x05S\x1a\xef\ne;\x99@\x8c\x06$\xf8Ci\xa7\x14L~\x88\x1f\x85\xd7\xfa9\x91\xb0jy\xef\x93Uf1\xab=\x87\x01eg\xafe\xa2}Ki%\xf5\xb5J\x13\x93?\x1f`\xab+\x8b\x86\xc3\xf0l\xc8\n\xd2f\x8e\x00\xb0\x1e\x0e\x9c\x05\xaa\xfd\x0f\x951{Es\xf5\x8d\x7f\xdaD\xa5Q\xdbz\xcc\xbc2\xb0\x08cL\xebGE\x8b\xb5\xf2"\xbb\x91^',
        b'\x82\xb7\xee\xb5K\xca=\xd9\xe7Ui\x02Qo;v\x81\xb9/\xc9\x9d3\xc7Y\xa0V \x08"+\xd5\x83\x84\xdcF\xff\x9c\xa8\xee\xa6-\x1c\xe0\x80\\\xf8,TIo\x95lK\x12#\xe9\xa8\xc9\x9b\xef\xb9P\x0bVm\xea\x1d\xfb\x1fm\xd8JN\xd5\xcb\x06*+\xe0\xa7\xbc\xa6\xb1;\xd8\n\xb6\x18\x891y\xe3)D\x19E\xb7>G\x1b\x85\xcb\x11\xddmB\x9b\xe5s&\\ \xa8\x0c\xc3\x04\x8c6K\xb9n/\xf4\xe2\xe0\xcf\xbfZ\xf6\xee\xaa\x1a60\x8c\xa3s\xc6u@\xcd\x01`7\x12\\\xdb\xfdX}[\\\t\x1b\r4A\\\xe0r^\xfd\xa5\xcd\xe4\xc2\xee5O\x92\xce\x07\xc6\xcf\x7f\xb7\x95\x86\xe3\xbf\x13\xba9ag6\xe9\xc9\xa6TWw\xf3\x8e\x082\x1d\xec\r\xb2\xbe\xde\xca\xb9\xa2\x02\xea\xb3X\xb1\xc4\x87\xf5(\xceWU#\xe0*\xf2\xeaI\xc8\xbaE\x18,\xbb\xdcF\xea\xbe\xe1y\xfc\x06\x96R\xe8\x86>\x81?\xf0\'\xda\x1f\xdc\x0bwY=*\x91\x8c\x1bk\xbal\xd7\x15W\x02;\xd8\x8cIQKJ\xa0[\xa3\x82\x1c\xe1\xc3\xa9l8\x81\x86s%\x9f7\x9cqS\x94\x848\x83\x85\xda\x06p\xafOJ\x98\\\x19\x935\x9f\xaf\xcbu\xb1\x02 v\x88,R\xdaLm\xcb\rO\x05\xb5\xb7y\xae3Y0f\xc7\xe5\'m\xa5X\x10q\xe4_ f\xb5\xfdyVP<\xbf\x02\xc8aI\xa6\xd0\xc5\xc5F \xa5\x08\xe9\xf6\xb0\x86\x14c\xfeqdP\x9c\xd5\xdeQ\x08 \xf8\x7f`\xe5\x06!(\xe3\xaf3Sq&J4\xe4\xb2u!\xd4\\@\xd7\x19\x9aV\x1bn1+a\xdb\xa7PEV\x95z\xcf\xe8.\xb2\x84\xf4\\\xc5\x15\x18\xec\x99\xae\xb7',
    ]
    # b'\x1f\x1f\x01\x00\x00\x00\xf3' +
    # """<?xml version="1.0" encoding="utf-8"?><root><common><building_id>BD100100</building_id><gateway_id>TC888</gateway_id><type>id_validate</type></common><id_validate operation="md5"><md5>D38DD4B33BF37EEA7C8E0336A52F576C</md5></id_validate></root>"""
    # .encode(),
    # b'\x82\xb7\xee\xb5K\xca=\xd9\xe7Ui\x02Qo;v\x81\xb9/\xc9\x9d3\xc7Y\xa0V \x08"+\xd5\x83\x84\xdcF\xff\x9c\xa8\xee\xa6-\x1c\xe0\x80\\\xf8,TIo\x95lK\x12#\xe9\xa8\xc9\x9b\xef\xb9P\x0bVm\xea\x1d\b\x1fm\xd8JN\xd5\xcb\x06*+\xe0\xa7\xbc\xa6\xb1;\xd8\n\xb6\x18\x891y\xe3)D\x19E\xb7>G\x1b\x85\xcb\x11\xddmB\x9b\xe5s&\\ \xa8\x0c\xc3\x04\x8c6K\xb9n/\xf4\xe2\xe0\xcf\xbfZ\xf6\xee\xaa\x1a60\x8c\xa3s\xc6u@\xcd\x01`7\x12\\\xdb\xfdX}[\\\t\x1b\r4A\\\xe0r^\xfd\xa5\xcd\xe4\xc2\xee5O\x92\xce\x07\xc6\xcf\x7f\xb7\x95\x86\xe3\xbf\x13\xba9ag6\xe9\xc9\xa6TWw\xf3\x8e\x082\x1d\xec\r\xb2\xbe\xde\xca\xb9\xa2\x02\xea\xb3X\xb1\xc4\x87\xf5(\xceWU#\xe0*\xf2\xeaI\xc8\xbaE\x18,\xbb\xdcF\xea\xbe\xe1y\xfc\x06\x96R\xe8\x86>\x81?\xf0\'\xda\x1f\xdc\x0bwY=*\x91\x8c\x1bk\xbal\xd7\x15W\x02;\xd8\x8cIQKJ\xa0[\xa3\x82\x1c\xe1\xc3\xa9l8\x81\x86s%\x9f7\x9cqS\x94\x848\x83\x85\xda\x06p\xafOJ\x98\\\x19\x935\x9f\xaf\xcbu\xb1\x02 v\x88,R\xdaLm\xcb\rO\x05\xb5\xb7y\xae3Y0f\xc7\xe5\'m\xa5X\x10q\xe4_ f\xb5\xfdyVP<\xbf\x02\xc8aI\xa6\xd0\xc5\xc5F \xa5\x08\xe9\xf6\xb0\x86\x14c\xfeqdP\x9c\xd5\xdeQ\x08 \xf8\x7f`\xe5\x06!(\xe3\xaf3Sq&J4\xe4\xb2u!\xd4\\@\xd7\x19\x9aV\x1bn1+a\xdb\xa7PEV\x95z\xcf\xe8.\xb2\x84\xf4\\\xc5\x15\x18\xec\x99\xae\xb7'
    # meg_list=[b'\x1f\x1f\x01\x00\x00\x00\xf3' +
    #           """<?xml version="1.0" encoding="utf-8"?><root><common><building_id>BD100100</building_id><gateway_id>TC888</gateway_id><type>id_validate</type></common><id_validate operation="md5"><md5>D38DD4B33BF37EEA7C8E0336A52F576C</md5></id_validate></root>"""
    #               .encode(), b'\x1f\x1f\x02\x00\x00\x00\x00']
    while x < len(meg_list):
        meg = meg_list[x]
        """无限循环可以实现无限聊天"""
        # meg = b'\x1f\x1f\x01\x00\x00\x00\xf3' + b"""<?xml version="1.0" encoding="utf-8"?><root><common><building_id>BD100100</building_id><gateway_id>TC888</gateway_id><type>id_validate</type></common><id_validate operation="md5"><md5>D38DD4B33BF37EEA7C8E0336A52F576C</md5></id_validate></root>"""
        # 3.向服务器发送数据
        # meg = b'\x1f\x1f\x01\x00\x00\x00\xcc' + """<?xml version="1.0" encoding="utf-8"?><root><common><building_id>BD100100</building_id><gateway_id>TC888</gateway_id><type>id_validate</type></common><id_validate operation="request"></id_validate></root>""".encode()
        # meg = b'\x1f\x1f\x01\x00\x00\x00\xf3' + """<?xml version="1.0" encoding="utf-8"?><root><common><building_id>BD100100</building_id><gateway_id>TC888</gateway_id><type>id_validate</type></common><id_validate operation="md5"><md5>D38DD4B33BF37EEA7C8E0336A52F576C</md5></id_validate></root>""".encode()

        # meg = b'\x1f\x1f\x03\x00\x00\r@\xd9\xbb\xd8\x06\xc4\x10^\xe4\xb5\x169\xa4\xbc\xafse\xaf\xe9\xc1\x88\x82\xd0\xa8r\x7f\r\x17\x8a\x1by{\xba\xa12?\x02\xc9M \xa6\xcf\'P\xa5\x9f\xe9\xd3\x14s\xee\xdb#\x87\xbe=l,\x18h3-\x1a\xcf\xdd]\xd5_\xa2\xd30\x85rhJ\x8f\xff\\C\xcb\n\x97\xc9|\x87\x8em\xde\xba\xb5\xcf%\xefJ\x15\xf0\xe8\xad\x99\x8d&\x08a\xba7\x04\x8d\x1a\x88\xd1%\xa2~\xa1\x90[\x97}=Tt<\x05T\xb5=\xcco\xab\x83\xc6\x88(\xfc\x0f\x1e4\x7f\xfc\xe0O\xdcZ\x11 \x05Pu\x01\xefD\xf3h0\xd2f\xef\xe4nt\x02\x06\xdcMZ\xba\xf3\xe0\xde\x15\xb6\xed\xafy\x18\x02\xb6\xd5\x05<j!\x82\xb6lZ\xc8\x8e(\x86\x92"A\xb7\x04\x8a\xeaM\x04Y\xdfNQ\xba\xb3\x93i\xa3.\xe6\x11\x95$\xb1\x8e\x1d\xe9\xf7\xb1\x93\x13\xae\xfb\xbc\x95\xb8V\xc3\x8fM\x93S\x1dp\xa4O\x8e\x05H\xd3\xcd\xb0(\n@\xcf.jG~)\xe8\xaa\x1c\x1cU+\x18/\xc7)!\x8bL.5\xbc`c_z\x88\xc8\xa5\xb4^\xc4\xae\x0c\xe1$\xeb}\xd9\x03W!.?\xa7\x9d\xdd\xe8\xcbg\xf2y\xf7\x1f]5\xd3\x9c\xb4\xa4\xd7\x8f\t\xc8>3i\x98\xb8C[\xbc\xf65\xe3\x9c\xac\x9d7\xa9\xb4L\xfe"xI\x9e\xfe\xf5\x8c\x8a\xd6\xce\xab=b+\x81\x14\x8a\xaa\xb4\x03\xa9\xb0"\xf9\xe4"O\x16?\xdb\xca\x198\xca,\xab\xf3r\x81r\x83\xf0\xbb$~\x1cn\xda\x10\xc6E\xc6\xf5\x1b\xd2\xdd\x9b\xfaw\x01\x0ek\xcef\x1a\xb4\xd9\xa7G\xdf_L\xb7\x94\xae\x86\xfa\\<\xc85!q\x07\x91m\x9c\xa2\x86@6\xfb\x03\xc4w\x14\xf8\xe6p\x0fu\x9f\xb7\xcb\xa2\xd7\x95\x85\x15\x90\x91\xa7\xe7ykMQ\xb7"\x9e\x80\x13\xcf\xfa(\xc5ceV[\xf4E\rY<v\x0e\x91\xa7\xa94z\x9f(\xf5T\xd0\x1c\xd0\xd9\xaa\x95\xaeX_|\x87\xb7z\x9e\x12.\x06r\xb7F\xa77\xf3\x04\xd7=3\xb4\xf7\xbb\xea\xee\xdfp\xff\x9d\xf5\\\xab\xbdR8\x15\x86\xb2\xb8\xbf\x12\x8c_\xfa\x9b\x07B\xfc;r\x82\xc75\xa7\x98\xdc\xb4\x7f\x08\x1f&\xa5Z\x04"f\x8b\xea\xfb\xcb\xbf\xad\x1e\xc8\xc2@-Y\xab\x1b\xab\xb3\xaf~\xa3-\xb2\x8e\xe2\x18\x19\xea\x87x\xbb\'\x9b\xc7\xb1\xd5\x9c\x86\x9d\xca$\xb2\xa7\xa0r\x8ed\xba\x92]$ik\x8bd\xae\xec &\xaff\xf6\x10\xec\xf1\xc1\xbb\x04\xd2\xfa2\x1f\xd3\x05\x1dK%Z\xe1d\x9a \x12\xd6\xae\x11.\x1dsA\xd4\x1b0y$\xbbX\x1a\x04\xac\xbf\xcc\xd1n\nJtR\x1fZ\xb9\xe7f\xb9W]\x85m\x85/B\'\xbc\xa0\xf8\xd6\x90J.\xb4\xc4U\xa1Y\x1aB\x87\xc1\x01{\xd9l\xc5Yl\xc5\xaa\xf4\xc2\xdfN\x15\xdd\x1d\xaeZ6\x1a=\xb91\xfe-O\xd26\xe2&g\\\x13d}\xd09,\xc6\xed\xce\x90\'\xe7[\xdc\xa8}\x84(\x0c\xe9\xc9C\xec:\xce#!\xfbhW\x03z4&(\x18*\x17\xba\x82\xd3 Ix\xef\x9e\xe2pS\x1b\xfd\xb7\x82\x8d9\x9bD]\xe7\xa8\xe7z\x93\xb3\x1c\xb4I\'\xb5SW\xd7j\xc4\xb4\xb4:!\xe7\x90#\xbb\xd4\xcc\xe5\xf7\x1a\x9c\xb3C\xec\x05\xc2\x9euO\xb3\xbe\xe6S\xbc\xd0nZ\r~\xaff\x9f\xc9\x19k\x1a\xdf\x99Oi\xf8rvw5\x8aff|\xd3\xfd\x97\xf8\xb9\x14\xb5\x1b\x89h\xadR\n\xb8\xba\xf2X\xf6{\xc1y\xf4d\xd4\xf5o\x8d\r\x1f\xdcoEX>\xaa\xc8\x03A\xae\xa6\x00\x89\xf2\x9b\xf7wt|Q\xb8A@3y\x04\x93\xcb\x0c\xc1\xe2\xfc\x97\\\xdf\xbb\x96\xba\xa7|\xf7\xdc\xcepT\xd0\xc8\xe7\xf6\x91\x8cb\x8d\x18\xbd \xe4\xa6\xab+\x9d\nR\xecJ\xab"O\x1cf\x17\xd3\xf7P\xbf0&D\x01\x18+|\xadp%\x8ffIJQ\xf0\xffUzQ\xfe\x81\xd81\xf76q\x16\x1bU\x1f\xcd\x11\nh\x05\x1e\x08\xd8F\xe4BY\xc3\x94C\x7f\xa7\x02\x03\x03\x03\x03\x03\x03\x03\x03'
        # meg = b'\x1f\x1f\x03\x00\x00\r@\xd9'
        # """
        # b'\x1f\x1f\x01\x00\x00\xf6<?xml version="1.0" encoding="utf-8"?><root><common><building_id>BD100100</building_id><gateway_id>request</gateway_id><type>id_validate</type></common><id_validate operation="sequence"><sequence>powerKeeper</sequence></id_validate></root>'"""
        tcp_client_socket.send(meg)  # 在linux中默认是utf-8编码
        # 在udp协议中使用的sendto() 因为udp发送的为数据报，包括ip port和数据，           # 所以sendto()中需要传入address，而tcp为面向连接，再发送消息之前就已经连接上了目标主机

        # 4.接收服务器返回的消息
        recv_data = tcp_client_socket.recv(
            1024)  # 此处与udp不同，客户端已经知道消息来自哪台服务器，不需要用recvfrom了
        # if recv_data:
        print("返回的消息为:", recv_data)
        time.sleep(1)

        # while True:
        #     time.sleep(2)
        #     recv_data = tcp_client_socket.recv(1024)  # 此处与udp不同，客户端已经知道消息来自哪台服务器，不需要用recvfrom了
        #     if recv_data:
        #         print("返回的消息为:",recv_data)
        #
        #     else:
        #         print("返回的消息为")
        x += 1
    # tcp_client_socket.close()


if __name__ == '__main__':
    main()
