网络协议与网络编程
thinkerleo7798
这个作者很懒,什么都没留下…
展开
-
什么是POP3、SMTP和IMAP?
POP3POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。转载 2016-07-14 11:08:50 · 564 阅读 · 0 评论 -
Libpcap库编程指南--分析数据包
现在,我们可以捕捉并过滤网络流量了,那就让我们学以致用,来做一个简单使用的程序吧。 在本讲中,我们将会利用上一讲的一些代码,来建立一个更实用的程序。 本程序的主要目标是展示如何解析所捕获的数据包的协议首部。这个程序可以称为UDPdump,打印一些网络上传输的UDP数据的信息。我们选择分析和现实UDP协议而不是TCP等其它协议,是因为它比其它的协议更简单,作为一个入门程序范例,是很不错的选择。让我们原创 2017-09-13 15:21:05 · 939 阅读 · 0 评论 -
Go语言进行web开发(二) Go中的Socket编程
8.1 Socket编程在很多底层网络应用开发者的眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在的网络编程几乎都是用Socket来编程。你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和Web服务器进行通信的呢?当你用QQ聊天时,QQ进程怎么和服务器或者是你的好友所在的QQ进程进行通信的呢?当你打开PPstream观看视频时,PPstream进程如何与视转载 2017-10-15 10:54:20 · 4394 阅读 · 0 评论 -
Go语言进行web开发(三) Go中的WebSocket编程
8.2 WebSocketWebSocket是HTML5的重要特性,它实现了基于浏览器的远程socket,它使浏览器和服务器可以进行全双工通信,许多浏览器(Firefox、Google Chrome和Safari)都已对此做了支持。在WebSocket出现之前,为了实现即时通信,采用的技术都是“轮询”,即在特定的时间间隔内,由浏览器对服务器发出HTTP Request,服务器在收到转载 2017-10-15 11:18:10 · 8477 阅读 · 1 评论 -
《UNIX网络编程》中的unp.h文件和config.h文件
《UNIX网络编程》一书中大量使用了作者自己编写的包裹函数,这些函数的声明统统写在了 unp.h 头文件中,现在将这个头文件写在博文里,方便以后查看。注意:unp.h 和 config.h的生成, 可以上本书官网 http://www.unpbook.com/下载源代码,根据README中的使用方法生成 ,除了这两个头文件外还需要相关静库文件的支持。笔者系统环境为Ubuntu 17.04 amd64原创 2017-07-21 10:47:18 · 3819 阅读 · 0 评论 -
字符编码笔记:ASCII,Unicode 和 UTF-8
字符编码笔记:ASCII,Unicode 和 UTF-8作者: 阮一峰日期: 2007年10月28日一、ASCII 码我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应转载 2017-11-14 08:42:59 · 267 阅读 · 0 评论 -
《UNIX网络编程》中五种I/O方式总结和对比
UNIX提供了五种不同的I/O模型:阻塞式I/O模型非阻塞式I/O模型I/O复用模型信号驱动式I/O模型异步I/O模型阻塞式I/O模型阻塞式I/O模型是最基本的I/O模型。在默认情况下,所有套接字都是阻塞的,以数据报套接字为例:当系统调用recvfrom系统调用函数时,当内核socket缓冲区中这个套接字数据报准备好时,将数据从内核缓冲区复制到用户空间,复制完成的时函数返回成功。当发生错原创 2017-11-29 13:16:39 · 3677 阅读 · 0 评论 -
P2P通信基本原理与实现
对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构[1] ,是对等计算模型在应用层形成的一种组网或网络形式。“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存转载 2017-12-27 22:05:23 · 886 阅读 · 0 评论 -
RTP/RTCP 和 SRTP/SRTCP协议
此文章为转载,如有侵权,通知删除原地址:https://blog.csdn.net/swallow_he/article/details/74202104RTP/RTCP 和 SRTP/SRTCP协议1 RTPRTP 协议(Real TimeProtocol)提供具有实时特征的、端到端的数据传送服务,可用来传送声音和运动图像数据。在这项数据传送服务中转载 2018-05-07 23:47:10 · 19695 阅读 · 2 评论 -
Libpcap库编程指南--过滤数据包
WinPcap和Libpcap的最强大的特性之一,是拥有过滤数据包的引擎。 它提供了有效的方法去获取网络中的某些数据包,这也是WinPcap捕获机制中的一个组成部分。 用来过滤数据包的函数是 pcap_compile() 和 pcap_setfilter() 。 pcap_compile() 它将一个高层的布尔过滤表达式编译成一个能够被过滤引擎所解释的低层的字节码。有关布尔过滤表达式的语法可以参见原创 2017-09-13 14:58:03 · 6342 阅读 · 0 评论 -
Libpcap库编程指南--网卡高级信息获取
事实上,Libpcap提供了其他更高级的信息。 特别需要指出的是, 由 pcap_findalldevs() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of which corresponds to an entry in the addresses list). 一个广播地址列表 (eac原创 2017-09-13 14:31:27 · 921 阅读 · 0 评论 -
《Unix网络编程》 多进程并发服务器基本模型
多进程并发服务器的基本原理是:对于每一个客户的访问请求,都fork一个子进程来处理这个请求。程序轮廓:pid_t pid;int listenfd, connfd;listenfd = Socket(...);Bind(listenfd, LISTENQ);while(1){ connfd = Accept(listenfd, ...); if( (pid = fork原创 2017-07-18 13:52:30 · 434 阅读 · 0 评论 -
《Unix网络编程》Unix/Linux中exec系函数辨析
Unix/Linux中exec系函数辨析原创 2017-07-18 12:35:43 · 272 阅读 · 0 评论 -
HTTP 错误代码总结
HTTP 错误代码总结HTTP 错误代码将从远程服务器返回以响应请求。我们最为熟悉的可能是 HTTP404,只要服务器在 URI 中找不到指定的页面/文档,便会返回该代码。代码消息描述HTTP400错误请求由于语法无效,服务器可能无法处理该请求。HTTP401转载 2017-07-22 14:30:49 · 2881 阅读 · 0 评论 -
《UNIX网络编程》多线程TCP C/S服务器正常启动和正常结束过程剖析
一、启动过程1、服务器启动后,它调用socket、bind、listen、accept, 并阻塞accept调用(我们还没有启动客户) 2、客户启动并调用socket和connect,后者引起TCP三路握手过程。当三路握手完成后,客户中的connect和服务器中的的accept均返回,连接建立。二、结束过程1、服务器子进程终止,关闭所有打开的描述符,客户打开的套接字由内核关闭。这导致客户TCP发送原创 2017-07-24 19:50:49 · 498 阅读 · 0 评论 -
Libpcap库编程指南--数据包捕获
简介Libpcap是一个运行在类UNIX系统下的网络数据包捕获函数库,可以捕获网卡上的数据,也可以发送数据包,相应的Windows版本为WinPcap。翻译 2017-09-11 12:18:38 · 4040 阅读 · 0 评论 -
Libpcap库编程指南--网卡数据包捕获
本讲的范例程序所实现的功能和效果和上一讲的非常相似 (打开适配器并捕获数据包), 但本讲将用 pcap_next() 函数代替上一讲的 pcap_loop()函数。 pcap_loop()函数是基于回调的原理来进行数据捕获,这是一种精妙的方法,并且在某些场合中,它是一种很好的选择。 然而,处理回调有时候并不实用 – 它会增加程序的复杂度,特别是在拥有多线程的C++程序中。可以通过直接调用pcap_原创 2017-09-13 14:48:43 · 1614 阅读 · 0 评论 -
Libpcap库编程指南--保存数据包
#include "pcap.h"#include <cstdlib>/* 回调函数原型 */void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);int main(int argc, char **argv){ pcap_if_t *alldevs;原创 2017-09-13 15:30:36 · 996 阅读 · 0 评论 -
Libpcap库编程指南--网卡信息获取
用Libpcap 进行编程的第一步往往是获取网卡设备列表,以下是官方示例代码。 代码示例:#include <cstdio>#include "pcap.h"int main(){ pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; /* 获取本地机器设备列表原创 2017-09-13 14:18:39 · 588 阅读 · 0 评论 -
WebRTC in the real world: STUN, TURN and signaling
By Sam DuttonPublished: November 4th, 2013Updated: November 4th, 2013Comments: 9WebRTC enables peer to peer communication.BUT...WebRTC still needs servers:For clients to exchange metadata to coordinat...转载 2018-05-16 15:33:17 · 977 阅读 · 0 评论