2018-12-01 socket连接

2018-12-01  本文已影响0人  太阳出来我爬山坡

Author: zhuoda

'''
TCP 服务
'''
import socket
tcpSvr =socket.socket() #1创建socket 对象 (默认tcp 还有upd)
tcpSvr.bind(('',8884)) #2 绑定IP 端口 用于客户端 连接
tcpSvr.listen(5) #3监听 客户端队列 5表示最大5个.

conn ,addr = tcpSvr.accept() #4接收 客户端信息 返回 tcp连接和ip

data =conn.recv(1024) #5阻塞 接收 '字节数据'. 缓存1024b

conn.send(data) #6发送 数据回 客户端

print('等待连接')

服务器 要不停的 接收客户端信息

while 1:
conn, addr =tcpSvr.accept()
# 服务器不停的 收发数据.
while 1:
data = conn.recv(1024) #接收字节信息
if data: #如果有数据 接收到 ,则 发回 '接收到的信息'
conn.send(data) #发回原字节信息
print(f'客户端 {str(addr)} 连接中')
print(data.decode('utf-8')) #接到字节信息,要编码
if data == 'q': # 如果接收到的 信息='q' 关闭conn 对象,释放资源
conn.close() # 断开本次连接
break
else: #如果接收到 空 信息 表示结束
print('数据接收完毕')
conn.close() #关闭连接 ,释放资源
break

Author: zhuoda

import socket
tcp_client = socket.socket()
tcp_client.connect(('192.168.1.11',8884)) #连接服务器
while 1:
msg = input('.......>:')
tcp_client.send(msg.encode('utf-8'))
smsg= tcp_client.recv(1024)
print('服务器端:',smsg.decode())
if msg=='q'or msg=='': # 结束发送信息
break;
tcp_client.close() #断开连接

上一篇 下一篇

猜你喜欢

热点阅读