一个简单的服务端与客户端TCP通信
服务端代码
from socket
import *
ip_port
= ("10.33.0.75", 8000)
back_log
= 5
buffer_size
= 1024
tcp_sever
= socket
(AF_INET
, SOCK_STREAM
)
tcp_sever
.bind
(ip_port
)
tcp_sever
.listen
(back_log
)
while True:
print("服务起开始运行")
conn
,addr
= tcp_sever
.accept
()
print("双向链接是",conn
)
print("客户端地址",addr
)
while True:
try:
data
= conn
.recv
(buffer_size
)
print("客户端发来的消息是:", data
.decode
("utf-8"))
conn
.send
(data
.upper
())
except Exception
:
break;
conn
.close
()
tcp_sever
.close
()
注意:socket编程在发送与接受数据的时候是以二进制形式传输的,所有发送与接收的时候需要对要发送的数据和接受的数据进行分别的编码和解码。
客户端代码
from socket
import *
ip_port
= ("10.33.0.75", 8000)
back_log
= 5
buffer_size
= 1024
tcp_client
= socket
(AF_INET
, SOCK_STREAM
)
tcp_client
.connect
(ip_port
)
while True:
msg
= input(">>:").strip
()
if msg
== "quit()":
break;
tcp_client
.send
(msg
.encode
("utf-8"))
print("客户端发送消息")
data
= tcp_client
.recv
(buffer_size
)
print("接收到服务端发送的消息是:", data
.decode
("utf-8"))
tcp_client
.close
()
转载请注明原文地址:https://blackberry.8miu.com/read-36242.html