py网络_TCP通讯笔记
TCP通讯
在网络编程之中,TCP属于面向连接的通讯协议,所以在进行TCP通讯的过程之中其安全性以及稳定性都是最高的,虽然性能会差一些,但是对于当前网络环境来讲主要使用的还是TCP协议居多
TCP程序采用的是一对一的通讯机制实现的网络传输,在TCP程序之中需要首先创建并开启服务端程序,随后客户端依据指定的IP地址和监听端口号进行连接从而实现数据的传输处理
在Python里面提供有一个socket.socket类可以实现TCP的程序编写,该类之中提供的常用方法有:
| No. | 函数 | 类型 | 描述 |
|---|---|---|---|
| 1 | socket() | 构造 | 获取socket类对象 |
| 2 | bind(hostname,port) | 方法 | 在指定主机的端口绑定监听 |
| 3 | listen() | 方法 | 在绑定端口上开启监听 |
| 4 | accept() | 方法 | 等待客户端连接,连接后返回客户端地址 |
| 5 | send(data) | 方法 | 发送数据 |
| 6 | recv(buffer) | 方法 | 接收数据 |
| 7 | close() | 方法 | 关闭套接字连接 |
| 8 | connect(hostname,port) | 方法 | 设置要连接的主机名称和端口号 |
Socket编程实现
在整个的socket通讯过程之中,由于其属于C/S程序结构,所以一定要开发两套程序,对于服务端程序来讲一定要在特定的主机端口上开启监听机制,这样客户端就可以依据服务器的地址和端口进行服务的访问。

测试
1 | |
对于此时的socket程序由于其是标准的TCP协议实现,所以可以直接使用telnet命令进行访问。
D:\Program_software_list\Anaconda3_5\python.exe F:/Learn/Python/网络编程/TCP_server1.py
[服务端]服务器启动完毕,在“8080”端口上监听,等待客户端连接….


[服务端]客户端连接到服务器端,客户端的地址为:127.0.0.1、连接端口: 15245
进程已结束,退出代码0
对于当前的服务器端由于只是向客户端进行一次的响应操作,所以使用telnet连接之后,那么服务器端进行数据传输后就会自动的进行关闭了,但是telnet本身是属于操作系统里面提供的一个测试命令,并不能作为实际的程序客户端使用,那么就需要开发自己的Socket客户端(TCP协议)。
开发客户端程序
使用python的程序运行代替telnet命令
1 | |
server:
1 | |
client:
1 | |
在整个的Socket网络编程之中基本的核心流程就是服务端开启监听端口,等待客户端连接,而客户端要想访问服务器就必须进行服务器的地址连接,而后进行相应的数据的请求和响应内容的接收。