首页 > 技术文章 > python之socket聊天室

cage0515 2018-12-11 19:05 原文

from threading import Thread
from socket import *

# 定义发送消息的函数
def sendmsg(s,sendip,sendport):
while True:
# 获取用户输入的发送内容
content = input('<<')
# 发送;转换编码,ip,port
s.sendto(content.encode('gb2312'),(sendip,sendport))

# 定义接收消息的函数
def recemsg(s):
while True:
rece = s.recvfrom(1024)
print("\r\n>>%s:%s"%(rece[1],rece[0].decode('gb2312')),end='')

def main():
sendip = input('请输入对方Ip:')
sendport = int(input('请输入对方的端口号:'))
s = socket(AF_INET, SOCK_DGRAM)
# 绑定Ip
info = ('',8888)
s.bind(info)
# 创建两个线程
t1 = Thread(target=sendmsg,args=(s,sendip,sendport))
t2 = Thread(target=recemsg,args=(s,))
t1.start()
t2.start()
t1.join()
t2.join()
if __name__ == '__main__':
main()


链接: https://pan.baidu.com/s/19pdOKqTp3BdrIo4FgzqDzg

推荐阅读