PYTHON:聊天软件开发(小改版 )

注意!!!要先启动服务器再启动客户端!!!

服务器:

#coding ="utf-8"
from socket import *
import _thread

HOST='192.168.0.104'  #IP 地址,Windows+R,输入 cmd 后点击 enter 键,输入 ipconfig 后点击 enter 键即可。IPV4 地址
PORT=9999
ADDR =( HOST,PORT )

tcpSerSock = socket (AF_INET,SOCK_STREAM)
tcpSerSock.bind (ADDR)
tcpSerSock.listen (5)
print ("等待客户端连接中……")

tcpCliSock, addr = tcpSerSock.accept ()
print ("收到客户端连接:", addr )

exit_flag=0

def send_data():
    global exit_flag
    while True :
        s= input ("请输入消息:\n")
        tcpCliSock.send((s + " :)" ).encode())  # 发送消息时添加微笑表情
        if ( s ==" exit "):
            exit_flag=1
            break

def recv_data():
    global exit_flag
    while True :
        r = tcpCliSock.recv(1024)
        print ("收到来自客户端的消息:\n", r.decode() + " :D")  # 显示消息时添加大笑表情
        if ( r.decode()==" exit "):
            exit_flag=1
            break

_thread.start_new_thread(send_data,())
_thread.start_new_thread(recv_data,())

while True :
    if(exit_flag==1):
        tcpCliSock.close ()
        tcpSerSock.close ()
        break

客户端:

#coding ="utf-8"
from socket import *
import _thread

service = socket (AF_INET,SOCK_STREAM)
host ='192.168.0.104'#IP地址,Windows+R,输入cmd后点击enter键,输入ipconfig后点击enter键即可。IPV4地址
port =9999
service.connect ((host,port))
exit_flag=0

def send_data():
    global exit_flag
    while True :
        s=input("请输入消息: \n")
        # 这里添加一些常见的字符表情
        if s == "happy":
            s = ":)"
        elif s == "sad":
            s = ":("
        service.send(s.encode())
        if (s=="exit"):
            exit_flag=1
            break

def recv_data():
    global exit_flag
    while True :
        r = service. recv (1024)
        # 这里对接收的消息也进行类似处理
        if r.decode() == "happy":
            r = ":)"
        elif r.decode() == "sad":
            r = ":("
        print ("收到来自服务器的消息:\n", r.decode ())
        if ( r.decode()=="exit"):
            exit_flag=1
            break

_thread.start_new_thread(send_data,())
_thread.start_new_thread(recv_data,())

while True :
    if(exit_flag==1):     
        service.close()
        break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值