简易聊天 用网络调试助手接收 不知道怎么给外网发 计算机网络相关知识不足 亟待提高
from socket import *
from threading import Thread
'''------------------------基本设置-----------------------------'''
destIP = input('请输入目标IP:')
destPort =int( input('请输入目标端口:')) #input输入字符串类型,需要转换成int
homePort = int(input('请输入本地端口:'))
dest_ip_port = (destIP, destPort) #输入端口元组,ip用引号括起来
home_ip_port = ('', homePort) #IP位置不填,则用本地IP
'''----------------------------------------------------------------'''
newSocket = socket(AF_INET,SOCK_DGRAM) #新建套接字对象
newSocket.bind(home_ip_port) #绑定ip和端口于此进程
def main():
ts = Thread(target = sendData)
tr = Thread(target = recvData)
tr.start()
ts.start()
tr.join()
ts.join()
def sendData():
while True:
msg = input('<<')
newSocket.sendto(msg.encode('gb2312'),dest_ip_port)
def recvData():
while True:
recvInfo = newSocket.recvfrom(1024) #括号内为最大接收数量,返回值为(‘str’,address)
print('>>%s:%s'%(str(recvInfo[1]),recvInfo[0].decode('gb2312')))
main()