网络
文章平均质量分 64
琼琼的博客
这个作者很懒,什么都没留下…
展开
-
协议与划分层次(五层模型)
协议 1.概念:在计算机网络中要做到有条不紊的交换数据,我们就...原创 2018-07-11 11:25:56 · 6429 阅读 · 0 评论 -
Linux学习笔记之高级IO相关接口(select、poll、epoll服务器)
对于一个文件描述符,默认都是阻塞IO非阻塞IOfcntl函数原型#include <unistd.h>#include <fcntl.h>int fcntl(int fd, int cmd, ..../* arg */ );传入的cmd的值不同, 后⾯面追加的参数也不相同.fcntl函数有5种功能:复制一个现有的描述符(cmd=F_DUP...原创 2018-07-24 12:04:43 · 328 阅读 · 0 评论 -
网络编程套接字概念(前提)
IP地址,端口号,网络字节序socket api的基本用法实现一个简单的UDP客户端/服务器实现一个简单的TCP客户端/服务器(单链接版本,多进程版本,多线程版本)TCP服务器建立连接,发送数据,断开连接的原理(即三次握手,四次挥手) IP地址 ...原创 2018-07-13 15:39:18 · 186 阅读 · 0 评论 -
网络编程之TCP编程
TCP服务器server.c的作用是接受client的请求,并与client进行简单的数据通信 2 #include <stdio.h> 3 #include <sys/socket.h> 4 #include <netinet/in.h> 5 #include <errno.h> 6 #include <unist...原创 2018-07-20 10:48:26 · 237 阅读 · 0 评论 -
Linux学习笔记之高级IO概念
1.五种IO模型阻塞IO:在内核将数据准备好之前,系统调用会一直等待,所有的套接字默认都是阻塞方式 非阻塞IO:如果内核未将数据准备好,系统调用会直接返回,并且返回错误(非阻塞IO需要程序员采用循环的方式反复尝试读写这个文件描述符,将这个过程称为轮询)这对于CPU来说是非常大的浪费,一般只有在特定的场景下才进行使用 信号驱动IO:内核如果将数据准备好之后,使用SIGIO信号通知应用程序...原创 2018-07-20 11:21:00 · 397 阅读 · 0 评论 -
网络编程套接字之UDP编程
1.UDP套接字编程过程图1 UDP客户端/服务器端sendto 与 recvfrom 函数这两个函数的功能类似于 write 和 read 函数,可用无连接的套接字编程。其定义如下:/* 函数功能:发送数据; * 返回值:若成功则返回已发送的字节数,若出错则返回-1; * 函数原型: */#include <sys/socket.h>#include <sys/typ...原创 2018-07-15 11:05:01 · 291 阅读 · 0 评论 -
基于HTTP的小型自主web服务器
本篇博客通过自己建立Http服务器并且结合MySql来实现Web通信,具体代码详见GitHub:https://github.com/qiong12345/http在此整理其运行显示界面1.首先建立数据库2.首先启动Http服务器3.在浏览器上输入网址(我是在本机进行测试,用的IP是127.0.0.1,Http协议的TCP连接默认端口号为80)此时页面显示如下:...原创 2018-08-29 22:02:17 · 360 阅读 · 0 评论 -
POSIX和System V的比较/IPC函数汇总
当我们在linux系统中进行进程间通信时,会发现例如共享内存,信号量,消息队列等方式时,会发现有System v以及POXIS两种类型。因此,我们探究一下System v和POXIS到底代表着什么意义。 一.POSIX POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该...原创 2018-09-05 11:33:00 · 447 阅读 · 0 评论