Python网络编程——TCP客户端程序开发

简介: TCP客户端,需要与服务端建立连接,连接建立成功后才可以进行数据的传输

概述

TCP客户端,需要与服务端建立连接,连接建立成功后才可以进行数据的传输。


实现步骤

1.导入socket包

importsocket


2.创建tcp客户端套接字

socket.AF_INET表示IPv4类型

SOCK_STREAM表示tcp

tcp_client_socket=socket.socket(socket.AF_INET,socket. SOCK_STREAM)


3.和服务端建立连接

connect(host, port) 表示和服务端套接字建立连接, host是服务器ip地址,port是应用程序的端口号

tcp_client_socket.connect(("127.0.0.1",9090))


4.发送数据到服务端

send(data) 表示发送数据,data是二进制数据

#准备发送的数据send_content="你好,我是落雨"#转换为二进制数据send_data=send_content.encode('utf-8')
#发送tcp_client_socket.send(send_data)


5.接收服务端的数据

recv(buffersize) 表示接收数据, buffersize是每次接收数据的长度

#每次接收1024字节recv_data=tcp_client_socket.recv(1024)
#把二进制数据转换recv_data_decode=recv_data.decode("utf-8")
#打印接收到的内容print("客户端接受到的数据为:", recv_data_decode)


6.关闭套接字

tcp_client_socket.close()


代码实现

#tcp客户端程序开发importsocketif__name__=="__main__":
# 1.创建tcp客户端套接字# socket.AF_INET表示IPv4类型# SOCK_STREAM表示tcptcp_client_socket=socket.socket(socket.AF_INET,socket. SOCK_STREAM)
# 2.和服务端建立链接tcp_client_socket.connect(("150.158.5.46",9090))
# 3.发送数据到服务端send_content="你好,我是落雨"send_data=send_content.encode('utf-8')
tcp_client_socket.send(send_data)
# 4.接受服务端数据#每次接收1024字节recv_data=tcp_client_socket.recv(1024)
#把二进制数据转换recv_data_decode=recv_data.decode("utf-8")
#打印接收到的内容# 5.关闭套接字tcp_client_socket.close()
目录
相关文章
|
14天前
|
负载均衡 网络协议 算法
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
这网络层就像搭积木一样,上层协议都是基于下层协议搭出来的。不管是ping(用了ICMP协议)还是tcp本质上都是基于网络层IP协议的数据包,而到了物理层,都是二进制01串,都走网卡发出去了。 如果网络环境没发生变化,目的地又一样,那按道理说他们走的网络路径应该是一样的,什么情况下会不同呢? 我们就从路由这个话题聊起吧。
47 4
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
|
2月前
|
网络安全 Python
Python网络编程小示例:生成CIDR表示的IP地址范围
本文介绍了如何使用Python生成CIDR表示的IP地址范围,通过解析CIDR字符串,将其转换为二进制形式,应用子网掩码,最终生成该CIDR块内所有可用的IP地址列表。示例代码利用了Python的`ipaddress`模块,展示了从指定CIDR表达式中提取所有IP地址的过程。
55 6
|
2月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
70 13
|
3月前
|
Web App开发 缓存 网络协议
不为人知的网络编程(十八):UDP比TCP高效?还真不一定!
熟悉网络编程的(尤其搞实时音视频聊天技术的)同学们都有个约定俗成的主观论调,一提起UDP和TCP,马上想到的是UDP没有TCP可靠,但UDP肯定比TCP高效。说到UDP比TCP高效,理由是什么呢?事实真是这样吗?跟着本文咱们一探究竟!
80 10
|
2月前
|
网络协议 物联网 API
Python网络编程:Twisted框架的异步IO处理与实战
【10月更文挑战第26天】Python 是一门功能强大且易于学习的编程语言,Twisted 框架以其事件驱动和异步IO处理能力,在网络编程领域独树一帜。本文深入探讨 Twisted 的异步IO机制,并通过实战示例展示其强大功能。示例包括创建简单HTTP服务器,展示如何高效处理大量并发连接。
59 1
|
2月前
|
Kubernetes 网络协议 Python
Python网络编程:从Socket到Web应用
在信息时代,网络编程是软件开发的重要组成部分。Python作为多用途编程语言,提供了从Socket编程到Web应用开发的强大支持。本文将从基础的Socket编程入手,逐步深入到复杂的Web应用开发,涵盖Flask、Django等框架的应用,以及异步Web编程和微服务架构。通过本文,读者将全面了解Python在网络编程领域的应用。
43 1
|
2月前
|
网络协议 调度 开发者
Python网络编程:Twisted框架的异步IO处理与实战
【10月更文挑战第27天】本文介绍了Python网络编程中的Twisted框架,重点讲解了其异步IO处理机制。通过反应器模式,Twisted能够在单线程中高效处理多个网络连接。文章提供了两个实战示例:一个简单的Echo服务器和一个HTTP服务器,展示了Twisted的强大功能和灵活性。
51 0
|
3月前
|
网络协议 Java API
【网络】TCP回显服务器和客户端的构造,以及相关bug解决方法
【网络】TCP回显服务器和客户端的构造,以及相关bug解决方法
74 2
|
3月前
|
安全 区块链 数据库
|
3月前
|
运维 安全 网络协议
Python 网络编程:端口检测与IP解析
本文介绍了使用Python进行网络编程的两个重要技能:检查端口状态和根据IP地址解析主机名。通过`socket`库实现端口扫描和主机名解析的功能,并提供了详细的示例代码。文章最后还展示了如何整合这两部分代码,实现一个简单的命令行端口扫描器,适用于网络故障排查和安全审计。
58 0