首页 > TAG信息列表 > connfd
05 | pythonHTTP入门
HTTP传输 HTTP协议 (超文本传输协议) 用途 : 网页获取,数据的传输 特点 应用层协议,传输层使用tcp传输 简单,灵活,很多语言都有HTTP专门接口 无状态,协议不记录传输内容 http1.1 支持持久连接,丰富了请求类型 网页请求过程 1.客户端(浏览器)通过tcp传输,发送http请求给服务端 2.Linux高并发学习----一请求一线程/select/poll/epoll基本使用
1、概述 作为服务端,同时支持多用户连接是必然要求,在刚开始学习网络编程时,咱们所想到的几种常见用法如下: 1、一个请求对应一个线程:即给每一个新连接用户分配一个新线程,在该线程处理业务,这种情况显然只适用于很小规模连接的场景,毕竟线程资源是有限的,一般的pc能开到几百个线程就大并发高性能服务器 2
i/o复用模型 seclect poll epoll(效率最高) 前两者类似,从poll说起 poll 函数原型 #include<poll.h> int poll(struct pollfd *fds , nfds_t nfds , int timeout); 结构体指针 监听的文件个数 超时时间 strcut pollfdTCP编程
服务端: import socket 1.#建立套接字 socketfd=socket.socket() #默认是建立TCP链接 2.绑定地址 socketfd.bind(("0.0.0.0",8888)) 3.监听 socketfd.listen(3) 4.与客户端建立链接以及收发数据 while True: try: connfd,addr=socketfd.accept() #阻塞函数 ,与客户端高级I/O函数
pipe、socketpair #include<unistd.h> int pipe(int fd[2]); 要想实现双向的数据传输,应该使用两个管道。 管道内部传输的数据时字节流,这和TCP字节流的概念相同。但TCP写入多少字节的数据决定对方的接受窗口和拥塞窗口,而管道本身有一个容量限制,默认是65536字节。我们可以使用Linux/Unix服务端和客户端Socket编程入门实例
前言 本章节是用基本的Linux/Unix基本函数编写一个完整的服务器和客户端例子,可在Linux(ubuntu)和Unix(freebsd)上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服务端从网络读取一行,然后输出到客户端 客户端收到服务端的响应,输出这一行到标准输出 服务Linux/Unix IO多路复用之select网络编程(含源码)
前言 本章节是用基本的Linux/Unix基本函数加上select调用编写一个完整的服务器和客户端例子,可在Linux(ubuntu)和Unix(freebsd)上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服务端从网络读取一行,然后输出到客户端 客户端收到服务端的响应,输出这一行到Linux/Unix IO多路复用之poll网络编程(含源码)
前言 本章节是用基本的Linux/Unix基本函数加上poll调用编写一个完整的服务器和客户端例子,可在Linux(ubuntu)和Unix(freebsd)上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服务端从网络读取一行,然后输出到客户端 客户端收到服务端的响应,输出这一行到标Linux IO多路复用之epoll网络编程(含源码)
前言 本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服务端从网络读取一行,然后输出到客户端 客户端收到服务端的响应,输出这一行到标准输出 服务端 代码如下:多进程并发模型--TFTP文件服务器
1、项目功能 【客户端】 客户端有简单的页面命令提示 ,功能包含 【1】查看服务器文件库中的文件列表(普通文件) 【2】可以下载其中的某个文件到本地 【3】可以上传客户端文件到服务器文件库 【服务端】 服务器需求基于epoll的web服务器
前言 我们在大量并发的时候epoll有高的性能,所以我们选择用他去做一个BS模型的web服务器 web服务器 网络上是epoll并发,在解析http命令是下面的思路 具体的主要看代码的思路 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #inpython网站发布
""" /etc/python3 @File : IO_HTTP.py @Time : 2020/7/18 下午3:26 @Author : wangyongqi @Email : 92644827@qq.com @SOftware : PyCharm """ from socket import * from select import * import re class WebServer: d(p ython +tcp+tcp)文件传输
#情景:向服务器上传文件,发送文件,获取目录,和退出 服务器端: """ /etc/python3 @File : miker_server.py @Time : 2020/7/15 下午3:29 @Author : wangyongqi @Email : 92644827@qq.com @SOftware : PyCharm """ import os import time from socket imp深入理解Linux系统调用
一.为何要有系统调用 unix内核分为用户态和内核态,在用户态下程序不内直接访问内核数据结构或者内核程序,只有在内核态下才可访问。请求内核服务的进程使用系统调用的特殊机制,每个系统调用都设置了一组识别进程请求的参数,通过执行CPU指令完成用户态向内核态的转换。 二.系统调用过程linux之linux 并发编程(2)
多线程服务器是对多进程的服务器的改进,由于多进程服务器在创建进程时要消耗较大的系统资源,所以用线程来取代进程,这样服务处理程序可以较快的创建。据统计,创建线程与创建进程要快 10100 倍,所以又把线程称为“轻量级”进程。线程与进程不同的是:一个进程内的所有线程共享相同的全局内基础的HTTP服务器
【基础的http服务器】 接收HTTP请求 给出一定的响应 # http_server.py # 基础的http服务器 # 1.接收HTTP请求 # 2.给出一定的响应 # 在浏览器输入本机ip:端口号即可访问index.html from socket import * # 处理客户请求,返回响应 def handleClient(connfd): # 接收消[python全栈]05.网络编程(3)
目录 HTTPServer 阻塞IO与非阻塞IO IO多路复用 select方案 位运算 poll方案 1. HTTPServer #httpserver.py #服务端 httpserver from socket import * #定义处理客户端请求函数 def handleClient(connfd): request = connfd.recv(4096) request_lines = request.spli网络编程Socket之RST详解
网络编程Socket之RST详解 产生RST的三个条件: 目的地为某端口的SYN到达,然而该端口上没有正在监听的服务器; TCP想取消一个已有的连接; TCP接收到一个根本不存在的连接上的分节; 现在模拟上面的三种情况: client: #include <stdio.h>#include <string.h>#include <unistd.h>#includPYTHON2.day09
前倾回顾 1.总结进程线程的区别 2.网络通信模型 [1] 循环模型:循环接收请求处理请求,每次同时只能处理一个请求 [2]IO并发模型,可以同时处理多个IO请求 [3]多进程/多线程网络并发:可以互不影响处理多个任务 3.基于fork的多进程并发 4.ftp文件服务模型 ********************