import socket
import threading
host=
''
port=6889
def cilenThred(conn,addr):
print(
"成功接受客户端{}的连接:{}".format(addr[0],str(addr[1
])))
#服务器向客户端发送信息说明已经连接成功
msg=
'你已经成功连接到服务器'
conn.sendall(bytes(msg,encoding=
"utf-8"))
while True:
data=conn.recv(1024
)
print(
"服务器接受到的数据为{}".format(str(data,encoding=
"utf-8")))
message=
'server>>{}'.format(str(data,encoding=
"utf-8"))
conn.sendall(bytes(message,encoding=
"utf-8"))
chioce = str(conn.recv(1024),encoding=
"utf-8")
if chioce==
"exit":
conn.close()
break
else:
pass
try:
s=
socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#绑定ip地址和端口号
s.bind((host,port))
print(
'成功绑定了ip地址,端口号为{}'.format(port))
#服务器创建监听
s.listen(10
)
print(
"创建监听模式")
while True:
#成功接收客户端的连接,兵返回连接对象和地址
conn,addr=
s.accept()
t=threading.Thread(target=cilenThred,args=
(conn,addr))
t.start()
except socket.error as msg:
print(
"socket出现错误,错误为{}".format(msg))
finally:
s.close()
客户端:
import socket
import sys
host=
"localhost"
port=6889
try:
s=
socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print(
'成功创建socket对象')
s.connect((host,port))
print(
"成功连接到服务器端")
reply=str(s.recv(1024),encoding=
"utf-8")
print(
"成功接受到服务器返回的内容:{}".format(reply))
while True:
message=input(
"请输入要发送到服务器的信息》》")
s.sendall(bytes(message,encoding=
"utf-8"))
print(
"向服务器发送请求成功")
reply1=str(s.recv(1024),encoding=
"utf-8")
print(
"成功接受到服务器返回的内容{}".format(reply1))
chioce=input(
"是否继续输入?(y/n)")
if chioce.lower()==
"y":
s.sendall(bytes("ok",encoding=
"utf-8"))
pass
else:
s.sendall(bytes("exit",encoding=
"utf-8"))
print(
"输入结束")
break
except socket.error as msg:
print(
"创建socket错误,错误为{0}".format(msg))
sys.exit(-1
)
finally:
s.close()
转载于:https://www.cnblogs.com/liunanshou/p/9594365.html
相关资源:JAVA上百实例源码以及开源项目