简单服务器和客户端的连接
###服务器
# -*- coding: utf-8 -*-
import socket
import threading
from docutils.parsers.rst.directives import encoding
#进行封装。*个:服务器之间网络通信,第二个:流式socket,for TCP
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip_port=(‘192.168.1.35’,985) #设置服务器IP
s.bind(ip_port) #服务器绑定IP
s.listen(5) #设置监听位数
con,address=s.accept() #服务器进行接收数据
print(‘%s have connected’ % address[0])
con.send(‘hello i am python’.encode())
isok=True
def rec(con):
global isok
while isok:
recv_data=str(con.recv(1024),encoding=’utf-8′)
if recv_data==’exit’:
isok=False
print(recv_data)
thrd=threading.Thread(target=rec,args=(con,))
thrd.start()
while isok:
send_d=input(‘server>’)
con.sendall(bytes(send_d,encoding(‘utf-8′)))
if send_d==’exit’:
isok=False
s.close()
##客户端
# -*- coding: utf-8 -*-
import socket
import threading
cl=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip_port=(‘192.168.1.35’,985)
cl.connect(ip_port)
isok=True
def rec(cl):
global isok
while isok:
t=cl.recv(1024).decode(‘utf-8′)
if t==’exit’:
isok=False
print(t)
th2=threading.Thread(target=rec,args=(cl,))
th2.start()
while isok:
t=input(“other>”)
cl.send(t.encode(‘utf-8′))
if t==’exit’:
isok=False
cl.close()