python socket编程运用实例展示
#coding=utf-8
from threading import Thread
from socket import *
#收数据
def receiveData(udpSocket,destIp,destPort):
while True:
content,destInfo = udpSocket.recvfrom(1024)
print("\r【Receive from %s : %s】%s\nInput:"%(destInfo[0],destInfo[1],content.decode("gb2312")),end="")
#发数据
def sendData(udpSocket,destIp,destPort):
while True:
sendInfo = input("Input:")
udpSocket.sendto(sendInfo.encode('gb2312'),(destIp,destPort))
#udpSocket = None
#destIp = ""
#destPort = 0
#def main():
# global udpSocket,destIp,destPort
# destIp = input("对方的IP:")
# destPort = int(input("对方的端口:"))
# #创建Socket对象
# udpSocket = socket(AF_INET,SOCK_DGRAM)
# udpSocket.bind(("",4567))
# tr = Thread(target=receiveData)
# ts = Thread(target=sendData)
#
# tr.start()
# ts.start()
#
# tr.join()
# ts.join()
def main():
destIp = input("对方的IP:")
destPort = int(input("对方的端口:"))
#创建Socket对象
udpSocket = socket(AF_INET,SOCK_DGRAM)
udpSocket.bind(("",4567))
tr = Thread(target=receiveData,args=(udpSocket,destIp,destPort))
ts = Thread(target=sendData,args=(udpSocket,destIp,destPort))
tr.start()
ts.start()
tr.join()
ts.join()
if __name__ == '__main__':
main()