标签:socket recv tcp 开发 客户端程序 接字 data 客户端
话不多说,直接进入正题
一:客户端一共分为5大块:
1.创建客户端套接字
2.和服务端套接字建立连接
3.发送数据
4.接收发送
5.关闭客户端套接字
二:socket类的介绍
导入 socket 模块
import socket
创建客户端 socket 对象
socket.socket(AddressFamily, Type)
send(data) 表示发送数据,data是二进制数据
recv(buffersize) 表示接收数据, buffersize是每次接收数据的长度
三:程序开发
import socket
def main():
# 创建tcp客户端套接字
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 和服务端应用程序建立连接
tcp_client_socket.connect(("192.168.28.1", 6666))
# 准备发送的数据
send_data = "你好,请问是服务器吗!".encode("gbk")
# 发送数据
tcp_client_socket.send(send_data)
# 接收数据, 接收的数据最大字节数是1024
recv_data = tcp_client_socket.recv(1024)
# 返回的直接是服务端程序发送的二进制数据
print(recv_data)
# 对数据进行解码
recv_content = recv_data.decode("gbk")
print("接收服务端的数据为:", recv_content)
# 关闭套接字
tcp_client_socket.close()
if __name__ == '__main__':
main()
*****************************************
如果看客们不太理解的话,我给大家举个例子:
创建套接字 相当于买手机
和服务端建立连接 相当于你把电话打给谁
发送数据 相当于你打通电话想跟对方说的话
接收数据 相当于你收到了对方说的话
关闭客户端 相当于电话打完了,挂断电话
说到这是不是好理解些呢?
*****注意点*****
windows的编码格式是gbk
mac os的编码格式是utf-8
参数1: ‘AF_INET’, 表示IPv4地址类型
参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型
********************************************************************
第一次发博客,博客园还不太会用,如果大家喜欢的话,以后会不定时更新博客,
希望大佬们嘴下留情,小弟就是一小白,有什么改进的请留言;
谢谢了!
标签:socket,recv,tcp,开发,客户端程序,接字,data,客户端
来源: https://www.cnblogs.com/python-No/p/12014212.html
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。