多线程socket UDP收发数据

多线程socket收发数据

from threading import Thread
from socket import *

def sendData():
    while True:
        sendInfo = input('<<')
        udpSocket.sendto(sendInfo.encode('gb2312'),(destIp,destPort))

def recevData():
    while True:
        recvInfo = udpSocket.recvfrom(1024)
        print('>>%s : %s'%(str(recvInfo[1]),recvInfo[0].decode('gb2312')))

udpSocket = None
destIp = ''
destPort = 0
def main():
    global udpSocket
    global destIp
    global destPort
    destIp = input('请输入对方IP:')
    destPort = int(input('请输入对方Port:'))
    udpSocket = socket(AF_INET,SOCK_DGRAM)
    udpSocket.bind(('',6677))

    ts = Thread(target=sendData)
    tr = Thread(target=recevData)

    ts.start()
    tr.start()

    ts.join()
    tr.join()

if __name__ == '__main__':
    main()

 

posted @ 2017-07-09 20:01  Erick-LONG  阅读(1982)  评论(0编辑  收藏  举报