linux网络编程
文章平均质量分 51
Dakuan_chen
这个作者很懒,什么都没留下…
展开
-
网络端口分类
网络通信的实质是两台主机上的进程进行通信,但是IP地址只能标识一台主机并不能标识主机上的进程这时就需要端口来标识主机上的进程也称做协议端口号,这种在协议栈层间抽象的协议端口是软件端口,和路由器或交换机上的硬件端口是完全不同的概念,硬件端口是不同设备之间进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址端口的分类服务器使用的端口这里分为两类最重要的一类叫做数只端口号或者系原创 2017-06-16 14:40:19 · 653 阅读 · 0 评论 -
Linux select服务器
select原理系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *结构的表示就是stdin、st原创 2017-06-28 22:28:06 · 1165 阅读 · 0 评论 -
Linux epoll服务器、epoll、poll、select优缺点
epoll、poll和select优缺点select优点(1)select()的可移植性更好,在某些Unix系统上不支持poll() (2)select() 对于超时值提供了更好的精度:微秒,而poll是毫秒缺点(1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大 (2)同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也原创 2017-06-29 17:40:35 · 486 阅读 · 0 评论 -
Linux poll服务器
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include <poll.h>#define MAX原创 2017-06-29 17:43:45 · 396 阅读 · 0 评论 -
CRC检验与ARP脚本
CRC(Cyclic Redundancy Cheek)循环冗余检验是目前在数据链路层广泛使用的检错技术 Mac帧形式 目前FCS多采用CRC CRC原理 在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的原创 2017-06-10 20:18:42 · 563 阅读 · 0 评论 -
Linux套接字编程tcp_server
背景知识介绍socketsocket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端⼜⼝口号”就称为socket。网络字节序在两台主机进行通信时如果直接将网络上的数据拿来进行解析如果两台主机之间的字节序不同这样数据就会出错但是又不知道对方主机的字节序,所以就规定了网络字节序为大端接口介绍Linux提供了以下函数用来进行主机原创 2017-06-22 22:34:45 · 417 阅读 · 0 评论 -
代理服务器 和NAT技术
一、代理服务器的概念及工作原理(一)代理服务器的概念 随着Internet技术的迅速发展,越来越多的计算机连入了Internet。很多公司也将自己公司的局域网接入了Internet。如何快速地访问Internet站点,提高网络的安全性,成为了当今的热门话题。在这种情况下,代理服务器便应运而生了。 1、代理服务器的概念 代理服务器(Proxy Server)是个人网络和Interne原创 2017-06-13 16:45:46 · 436 阅读 · 0 评论 -
udp_server
#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <string.h>void usage(char* arg){ printf("%s [server_ip原创 2017-06-26 16:38:57 · 338 阅读 · 0 评论 -
基于HTTP和大数运算的在线计算器
**关于HTTP的具体的描述网上一大堆本文不在赘述#include "http.h"int starup(const char* ip,int port){ int sock = socket(AF_INET,SOCK_STREAM,0); if(sock < 0) { perror("socket"); return -1; }原创 2017-07-26 19:49:31 · 4222 阅读 · 1 评论