python 網絡聊天客戶端

#python

coding=utf-8

」’
name:chenyang
email: 2898891726@qq.com
date : 2018-09-11
class : aid
introduce: chatroom client
env: python3
」’
from socket import *
import os,sys
import time服務器

發消息

def send_msg(s,name,addr):
while True:
text=input(‘發言’)
if text.strip()==’quit’:
msg = ‘Q ‘+name
s.sendto(msg.encode(),addr)
sys.exit()
msg=’c %s %s’%(name,text)
s.sendto(msg.encode(),addr)socket

接收消息

def recv_msg(s):
while True:
data,addr =s.recvfrom(1024)
if data.decode()==’exit’:
sys.exit()
print(data.decode(),’\n%20s’%’發言:’,end=」)ide

def main():
#client address
ADDR=(‘127.0.0.1’,7898)
#建立套接字
s=socket(AF_INET,SOCK_DGRAM)
s.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
while True:
name = input(‘請輸入姓名’)
msg =’l ‘+name
# 發送登陸請求
s.sendto(msg.encode(),ADDR)
# 等待服務器回覆
data,addr = s.recvfrom(1024)
if data.decode()==’ok’:
print(‘你已經進入聊天’)
break
else:
print(data.decode())
#建立父子進程
pid=os.fork()
if pid<0:
sys.exit()
elif pid==0:
send_msg(s,name,addr)
else:
recv_msg(s)ui

if name==’main‘:
main()code

相關文章
相關標籤/搜索