python 网络编程(TCP & UDP)

来源:互联网 发布:小程序如何连接数据库 编辑:程序博客网 时间:2024/05/01 23:37

1 TCP方式

     1.1 server:

import socketimport datetimedef tcpServer():    address = ('127.0.0.1',22310)    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    s.bind(address)    s.listen(5) # lisen list size    while True:        ss, addr = s.accept()        print datetime.datetime.now()," ",addr, " connected"        ra = ss.recv(2048)        print datetime.datetime.now()," recv", ra        # do some thing        ss.send('OK')        ss.close()        s.close()    if __name__ == "__main__":        tcpServer()

     1.2 client:

import socketimport datetimedef tcpClient():    address = ('127.0.0.1',22310)    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    s.connect(address)    data = s.recv(512)    print datetime.datetime.now(),' recv: ',data    s.send("hi")    print datetime.datetime.now(),' send'    s.close()if __name__ == "__main__":    tcpClient()


2 UDP方式

    1.1 server:

import socketdef udpServer():    address = ('127.0.0.1', 22410)    srvsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)    srvsock.bind(address)    while True:        data,addr = srvsock.recvfrom(2048)        print addr,' : ',dataif __name__ == "__main__":    udpServer()

    1.2 client:

import socketdef udpClient():    address = ('127.0.0.1', 22410)    clisock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)    clisock.sendto('hello', address)if __name__ == "__main__":    udpClient()


        ss.send('OK')
0 0
原创粉丝点击