import socket
# 和udp的区别显而易见,udp发送和接收的是一个元祖,因为udp是不建立连接的,只有得到了对方的端口和ip才能进行沟通。
# 而tcp不是,tcp发送和接受的是一个字符串,因为在进行通信前必须先建立好连接确定好了ip以及端口,
# 所以不用在接受和发送的时候去特地的发送或者接受端口号和ip地址。
# 总结来说TCP有以下几点:
# 面向连接(确认有创建三方交握,连接已创建才作传输。)
# 有序数据传输
# 重发丢失的数据包
# 舍弃重复的数据包
# 无差错的数据传输
# 阻塞/流量控制
if __name__ == '__main__':
# 创建tcp客户端socket
# 1. AF_INET:表示ipv4的地址类型
# 2. SOCK_STREAM: 表示使用tcp的传输协议
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 和服务端socket建立连接
tcp_client_socket.connect(("192.168.131.106", 7878))
# 准备发送的数据
send_content = "哈哈,我使用tcp发送数据啦~"
# 对数据进行gbk的编码
send_data = send_content.encode("gbk")
# 发送数据
tcp_client_socket.send(send_data)
# 接收数据, 1024:表示每次接收最大的字节数
recv_data = tcp_client_socket.recv(1024)
# 解码数据
recv_content = recv_data.decode("gbk")
print(recv_content) # 这里是服务端。。。
# 关闭socket
tcp_client_socket.close()