python__系统 : socket_UDP相关

2018-06-18 03:06:12来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

socket.socket() 可以创建一个套接字:

from socket import *
from threading import Thread


udp_socket = None
dest_ip = ''
dest_port = 0


def recvData():
    while True:
        recv_info = udp_socket.recvfrom(1024)   #接收包最大字节1024
        print('\r>> %s : %s' %(str(recv_info[1]), recv_info[0].decode('GBK')) )
        print('<< ')

def sendData():
    while True:
        send_info = input('<< ')
        udp_socket.sendto(send_info.encode('GBK'), (dest_ip, dest_port)) #发送包  python3 只能发送字节类型 2.x 可以发送字符串

def main():

    global udp_socket
    global dest_ip
    global dest_port

    dest_ip = input('对方的ip: ')
    dest_port = int(input('对方的端口: '))

    udp_socket = socket(AF_INET, SOCK_DGRAM) #创建socket对象
    udp_socket.bind(('', 9876))   #端口绑定

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

    tr.start()
    ts.start()

    tr.join()
    ts.join()


if __name__ == '__main__':
    main()

简单的发送和接收信息的socket程序.

另: 用 struct.pack() 打包 ,用 unpack() 解包.

还可以直接广播:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python__系统 : 异步实现以及GIL

下一篇:1 Python 简介