用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 ())
        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")
          service.send(s.encode())
          if (s=="exit"):
               exit_flag=1
               break
def recv_data():
     global exit_flag
     while True :
             r = service . recv (1024)
             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


你可能感兴趣的:(python)