tcp是一种电话通信模型, 相对于udp来说, 安全性更高, 稳定性更高, 具有以下特点
- 面向连接
- 有序数据传输
- 丢失重传
- 舍弃重复数据包
- 无差错传输
- 阻塞/流量控制
相对于udp, tcp用的更普遍(后续学习的http也是基于tcp的)但tcp的实现更复杂
客户端实现流程
1.创建套接字,
使用sock.SOCK_STREAM常量
tcp_client_socket = socket.socket(sock.SOCK_STREAM)
2.连接服务器
tcp服务器需要先开启, 这里仅介绍tcp客户端代码, 服务器在下一小节介绍
tcp_client_socket.connect(("ip", 端口))
3. 发送数据
tcp_client_socket.send("数据")
4.关闭套接字
tcp_client_socket.close()
tcp客户端实例
import socket
def main():
# 1.创建tcp的套接字
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2.连接服务器
server_ip = input("请输入ip:")
server_port = int(input("请输入端口:"))
server_addr = (server_ip, server_port)
tcp_socket.connect(server_addr)
# 3.发送数据/接收数据
send_data = input("请输入数据:")
tcp_socket.send(send_data.encode("utf-8"))
# 4.关闭套接字
tcp_socket.close()
if __name__=="__main__":
main()
tcp相对于udp, 发送数据必须先连接服务器, 而连接前必须先开启tcp服务器, 若服务器未开启, 则会在尝试一段时间失败后停止连接