unix网络编程
ajuse
技术宅改变世界!
展开
-
小白都能看明白的VLAN原理解释
为什么需要VLAN 1. 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。 在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格...转载 2018-12-04 19:23:03 · 382 阅读 · 1 评论 -
Linux下的I/O复用与epoll详解
前言 I/O多路复用有很多种实现。在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术。尽管他们的使用方法不尽相同,但是本质上却没有什么区别。本文将重点探讨将放在EPOLL的实现与使用详解。为什么会是EPOLLselect的缺陷 高并发的核心解决方案是1个...转载 2018-12-19 14:46:59 · 136 阅读 · 0 评论 -
Linux 套接字编程中的 5 个隐患
在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语言。该 API 相当简单,但新的开发人员仍然会遇到一些常见的隐患。本文识别那些隐患并向您显示如何避开它们。隐患 1.忽略返回状态第一个隐患很明显,但它是开发新手最容易犯的一个错误。如果您忽略函数的返回状态,当它们失败或部分...转载 2018-12-20 14:25:44 · 214 阅读 · 0 评论 -
socket函数接口
1、int socket(int protofamily, int type, int protocol)(1)protofamily:即协议域,又称为协议族(family)。常用的协议族有,AF_INET(IPV4)、AF_INET6(IPV6)、AF_LOCAL(或称AF_UNIX,Unix域socket)、AF_ROUTE等等。协议族决定了socket的地址类型,在通信中必须采用对应...原创 2019-01-14 15:55:23 · 349 阅读 · 0 评论 -
一个简单的socket编程示例
1、服务端代码#include <sys/stat.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include <stdl...原创 2019-03-05 18:02:02 · 643 阅读 · 0 评论 -
Select、Poll和Epoll
看到一篇写得很不错的博文,有必要收藏一下:原文:https://cloud.tencent.com/developer/article/1005481提到select、poll、epoll相信大家都耳熟能详了,三个都是IO多路复用的机制,可以监视多个描述符的读/写等事件,一旦某个描述符就绪(一般是读或者写事件发生了),就能够将发生的事件通知给关心的应用程序去处理该事件。本质上,select...转载 2019-03-06 17:46:36 · 4089 阅读 · 1 评论 -
TCP/IP系列收发接口recv(),send(),readv(),writev(),recvmsg(),sendmsg(),sendto和recvfrom详解
1.recv()函数接收数据#include<sys/types.h>#include<sys/socket.h>ssize_t recv(int s,void* buf,size_t len,int flags);注:s:socket()返回的文件描述符.buf:套接字s中接收的数据放到buf缓冲区.len:接收buf的大小.flag:操作...转载 2019-03-12 10:57:42 · 1844 阅读 · 0 评论 -
TCP协议的三次握手与四次握手
可以根据抓包来分析三次握手与四次握手:端口40286表示客户端client,端口9000表示服务端server三次握手:a.client向server发送SYN=1,ACK=0,Seq=x(此阶段不会有Ack),client状态为SYN_SNET;b.server收到client的SYN请求,发送SYN=1,ACK=1,Seq=y,Ack=x+1,server状态从LISTEN...原创 2019-03-13 10:42:07 · 166 阅读 · 0 评论