TCP客户端简单代码示例
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
功能:TCP客户端简单代码示例
环境:python3.7
日期:2019/8/22 19:28
作者:指尖魔法师
版本:1.0
"""
import socket
def main():
# 1.创建tcp客户端套接字
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2.连接服务器
server_ip = input("Please Input Server IP:")
server_port = int(input("Please Input Server Port:"))
tcp_client_socket.connect((server_ip, server_port))
print("Connect Server Success!")
while True:
# 3.发送数据
send_data = input("Please Input Send-data:")
if send_data == "exit":
break
tcp_client_socket.send(send_data.encode("utf-8"))
# 需要接收数据就接收
recv_data = tcp_client_socket.recv(1024).decode("utf-8")
print(recv_data)
# 4.关闭tcp客户端套接字
tcp_client_socket.close()
if __name__ == '__main__':
main()
TCP服务端简单代码示例
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
功能:TCP服务端简单代码示例
环境:python3.7
日期:2019/8/22 19:28
作者:指尖魔法师
版本:1.0
"""
import socket
def main():
# 1.创建tcp服务端套接字
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2.绑定服务器相关信息
server_port = 8001
server_addr = ("", server_port)
tcp_server_socket.bind(server_addr)
# 3.把套接字由主动改为被动,处于监听状态
tcp_server_socket.listen(128)
print("服务端处于监听中......")
while True:
# 4.接受一个客户端的连接请求,返回一个新的套接字和客户端地址
new_server_socket, client_addr = tcp_server_socket.accept()
print("Client %s Connect Success!" % str(client_addr))
while True:
# 5.用新的套接字接受客户端数据
recv_data = new_server_socket.recv(1024).decode("utf-8")
if not recv_data:
break
print("From Client %s Data:%s" % (str(client_addr), recv_data))
# 6.返回消息给该客户端
new_server_socket.send("Recv-data is OK!".encode("utf-8"))
# 7.关闭客户端套接字
new_server_socket.close()
print("Client %s Disconnected!" % str(client_addr))
# 8.关闭监听套接字
tcp_server_socket.close()
if __name__ == '__main__':
main()
运行效果如下:
客户端:
服务端: