![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
小猪快点跑
这个作者很懒,什么都没留下…
展开
-
网络编程:C/S模型 - TCP
目录一、代码结构二、敲代码:服务器-客户端三、epoll_server:水平触发LT + 多触发读read四、epoll_server:边沿触发ET + 非阻塞IO循环(read)一、代码结构1、客户端clie_fd = socket(AF_INET, STREAM, 0);connect(clie_fd, );write();read();clo...原创 2019-10-15 22:04:19 · 340 阅读 · 0 评论 -
网络编程:C/S模型 - UDP
1、服务端#include <stdio.h>#include <unistd.h>#include <sys/socket.h>#include <stdlib.h>#include <arpa/inet.h>#include <ctype.h>#include <string.h>#def...原创 2019-10-24 18:57:32 · 171 阅读 · 0 评论 -
网络编程:HTTP
1、GET请求GET resource-url HTTP/1.1Host:host-urlConnection:Close // 短连接GET resource-url HTTP/1.1Host:host-url:80 // IP:Port,端口默认为80Connection:Keep-alive ...原创 2019-09-07 16:29:54 · 81 阅读 · 0 评论 -
网络编程:HTML
目录一、HTML1、HTML 学习网站2、HTML 参考手册二、HTML 练习1、test.html 程序2、test2.html一、HTML1、HTML 学习网站w3school:https://www.w3school.com.cn/html/index.asp2、HTML 参考手册w3school:https://www.w3school.com....原创 2019-10-23 17:28:59 · 276 阅读 · 0 评论 -
网络编程:cookie 和 session 的区别
一、cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前...转载 2019-11-27 17:03:14 · 113 阅读 · 0 评论 -
socket网络编程笔记
一、基础知识xinetd: 开源服务器,监听指定端口ftp:20,21ssh:22http:80smtp:251000以上B/S模式http协议,协议头+数据方法GETPOST...GET / HTTP/1.1Host:xxx.xxx.xxx.xxx:8000协议头部分(可选)\r\nHTTP/1.1 200 OKconnect-Tyoe:回些客户...原创 2019-06-23 13:11:11 · 140 阅读 · 0 评论 -
网络编程:epoll 反应堆模式
epoll 反应堆模式1、头文件和宏定义2、系统 epoll_event 事件结构体3、函数声明4、main 函数5、初始化 init_socklisten_tree6、lfd 连接就绪处理函数 listenproc_lfd7、cfd 读就绪处理函数 readproc_cfd,非阻塞循环读8、cfd 写就绪处理函数 write_cfd9、从监听树,删除/添加节点...原创 2019-10-27 22:14:15 · 296 阅读 · 0 评论 -
网络编程:telnet、ssh、nc
1、nc 命令测试服务器连接nc ip port2、telnet 命令测试 http 服务器telnet ip portGET ./xxx.jpg http/1.13、ssh 命令测试 http 服务器ssh ip // 默认端口是 22ssh user@ip // 指定用户登录4、ssh 与 telnet 比较ssh 与 telnet ...原创 2019-10-23 17:23:27 · 516 阅读 · 0 评论 -
网络编程:winsocket 和 vmware ubuntu 通信,NAT 非端口映射
一、网络配置1、NAT 虚拟网络配置2、选择 NAT3、查看ip4、设置 VMnet8 ,ip自设,网关需要一致。二、程序1、WinSocketClient/* WinSocketClient.cpp */#include "pch.h"#include <WINSOCK2.H>#include <STDIO.H>...原创 2019-10-22 16:58:10 · 273 阅读 · 0 评论 -
网络编程:多进程下多型客户端
1、server#include <stdio.h>#include <unistd.h>#include <sys/socket.h>#include <stdlib.h>#include <arpa/inet.h>#include <ctype.h>#include <string.h>#i...原创 2019-10-16 00:54:43 · 116 阅读 · 0 评论 -
面试题汇总:网络编程
1、tcp和udp的区别?(1)TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接;(2)TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付;(3)TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的;UDP没有拥塞控制,因此网络出现...原创 2019-09-24 21:10:56 · 702 阅读 · 0 评论 -
网络编程:read、write、send、recv、sendto、recvfrom
一、write、read1、write(1)阻塞 write(2)非阻塞 write2、read#include <unistd.h>ssize_t read(int fd, void *buf, size_t count); 对于普通文件(磁盘文件),read不会阻塞。如果没有读到文件尾,则返回 n > 0;如果读到文件尾,则返回 n...原创 2019-09-01 13:31:16 · 449 阅读 · 0 评论 -
网络编程:IO复用、阻塞/非阻塞、同步/非同步、(select、poll、epoll)
一、IO复用 I/O复用就通过一种机制,由内核代替应用程序监视多个描述符,一旦某个描述符就绪(读就绪/写就绪),就通知相应程序进行读写操作。 select,poll,epoll本质上都是同步I/O,因为在读写事件就绪后由用户程序负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,内核会把数据从内核拷贝到用户空间。二、阻塞/非阻塞、...原创 2019-08-18 10:38:50 · 282 阅读 · 0 评论 -
网络编程:TCP 三次握手、四次挥手
1、端口号FTP: 21(控制端口)、20(数据端口)SMTP: 25HTTP: 80SSH: 222、TCP和UDPTCP:面向连接的可靠数据包传输,可以建立端到端的连接UDP:面向无连接的不可靠数据包传输,3、三次握手1、SYN 1000(0) —— SYN是包的标志位,代表客户端向服务器建立连接,1000是包的序列号,(0)表示包携带...原创 2019-06-21 15:30:38 · 230 阅读 · 0 评论