服務端
#!/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
閱讀更多 動漫資深愛好者和IT 的文章