排序
如何让服务器端持续不断地监听客户端的请求?
前面的程序,不管服务器端还是客户端,都有一个问题,就是处理完一个请求立即退出了,没有太大的实际意义。能不能像Web服务器那样一直接受客户端的请求呢?能,使用 while 循环即可。 修改前面...
socket缓冲区以及阻塞模式详解
TCP协议的粘包问题(数据的无边界性)
socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接收数据。也就是说,read()/recv() 和 write()/send() 的执行次数...
非常详细图解TCP数据报结构以及三次握手
shutdown()函数:优雅地断开TCP连接
socket编程实现文件传输功能详细教程
socket 文件传输程序,这是一个非常实用的例子。要实现的功能为:client 从 server 下载一个文件并保存到本地。 编写这个程序需要注意两个问题: 1) 文件大小不确定,有可能比缓冲区大很多,调...
如何在socket编程中使用域名
在socket编程中,如果直接使用域名而不是IP地址,需要进行域名解析。这里给出的示例代码演示了如何在socket中使用域名: import socket # 获取域名 host = 'www.xxx.com' # 解析域名获取IP地址 ip ...
基于UDP的服务器端和客户端知识详解
UDP(用户数据报协议)是一种无连接的通信协议。这里详细讲解基于UDP的服务器端和客户端: 服务器端: 1. 创建UDP套接字:socket(AF_INET, SOCK_DGRAM, 0); 2. 绑定IP地址和端口:bind(sockfd, (struc...
Python变量的定义和使用
任何编程语言都需要处理数据,比如数字、字符串、字符等,我们可以直接使用数据,也可以将数据保存到变量中,方便以后使用。 变量(Variable)可以看成一个小箱子,专门用来“盛装”程序中的数...
Linux ls命令:查看目录下文件
通过学习 cd 和 pwd 命令,相信读者已经能够在庞大的 Linux 文件系统中,随心所欲地游荡并确定自己所在的位置了。本节继续来学习,如何知道某目录中存放了哪些文件或子目录。 ls 命令,list 的...











