3、socket循环连接收发消息

服务端

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2018/3/2 15:12

# @Author : CaiChangEn

# @Software: PyCharm

from socket import *

IP_PORT=('0.0.0.0',8080)

BACKLOG=5

BUFFER_SIZE=1024

TCP_Server=socket(AF_INET,SOCK_STREAM)

TCP_Server.bind(IP_PORT)

TCP_Server.listen(BACKLOG)

Conn,Addr=TCP_Server.accept() # 虽然BACKLOG有五个,但是现在只有一个accept说明执行接收一个conn连接,那么此时就需要做循环连接

print('双向连接是:',Conn)

print('客户端地址是:',Addr)

while True:

cli_msg=Conn.recv(BUFFER_SIZE)

print('客户端说: %s' %cli_msg.decode('utf-8'))

msg=input('请输入信息: ').encode('utf-8')

Conn.send(msg)

Conn.close()

TCP_Server.close()

客户端

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2018/3/2 15:12

# @Author : CaiChangEn

# @Software: PyCharm

from socket import *

SERVER_IP_PORT=('127.0.0.1',8080)

BACKLOG=5

BUFFER_SIZE=1024

TCP_Server=socket(AF_INET,SOCK_STREAM)

TCP_Server.connect(SERVER_IP_PORT)

while True:

msg=input('请输入信息: ').strip()

if not msg:continue # 如果为空那么就continue

TCP_Server.send(msg.encode('utf-8'))

ser_msg=TCP_Server.recv(BUFFER_SIZE)

print('服务端说: %s' %ser_msg.decode('utf-8'))

TCP_Server.close()

结果

#服务端

双向连接是: <socket.socket>

客户端地址是: ('127.0.0.1', 53615)

客户端说: hi my name is cce

请输入信息: hi my name is socket

客户端说: nice to meet you

请输入信息: nice to meet you,too

#客户端

请输入信息: hi my name is cce

服务端说: hi my name is socket

请输入信息: nice to meet you

服务端说: nice to meet you,too


分享到:


相關文章: