注意!!!要先启动服务器再启动客户端!!!
服务器:
#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