![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UNP
文章平均质量分 67
onlyou2030
内心仰望理想的人都在埋头苦干!
展开
-
一个简单的时间获取程序
客户程序:#include "unp.h"#include "myerror.h"int main(int argc,char **argv){ //如果程序参数格式不正确 if (argc != 2) { err_quit("usage: a.out "); } //创建一个TCP套接字,返回sockfd作为套接字描述符 int sockf原创 2015-09-02 20:14:52 · 348 阅读 · 0 评论 -
UDP多播
#include #include #include #include #include #include #include #include #define BUFLEN 255int main(int argc, char **argv){ struct sockaddr_in peeraddr; struct in_addr ia; int sockfd;原创 2015-11-12 15:23:11 · 318 阅读 · 0 评论 -
UDP广播
如果不修改套接字选项,直接向广播地址发送UDP,即调用sendto,则会返回EACCES错误。我们收到这个错误的原因是:除非显示告诉内核我们准备发送广播数据报,否则系统不允许我们这么做。通过设置SO_BROADCAST套接字选项来做到这一点。#include int getsockopt(int sockfd,int level,int optname,void *optval,soc原创 2015-11-11 17:08:20 · 393 阅读 · 0 评论 -
简单客户端编写
本例要用到系统自带的ssh(安全外壳协议)服务器,所以使用之前要先安装和开启ssh服务器。1.linux开启ssh首先更新源 sudo apt-get update安装ssh服务sudo apt-get install openssh-server检测是否已启动ps -e | grep ssh看到有ssh字样,说明已启动原创 2015-11-11 10:44:55 · 410 阅读 · 0 评论 -
UDP编程
1.UDP编程的服务器端一般步骤是:1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt();* 可选3、绑定IP地址、端口等信息到socket上,用函数bind();4、循环接收数据,用函数recvfrom();5、关闭网络连接;2.UDP编程的客户端一般步骤是:原创 2015-11-11 15:29:13 · 225 阅读 · 0 评论 -
chat function realizing based on epoll
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXBUF 1024#define MAXEPOLLSIZE 10000/*setnonb原创 2015-11-10 16:17:20 · 283 阅读 · 0 评论 -
select函数详解
select函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定时间后才唤醒它。通常我们调用select告知内核对哪些描述符(就读、写或异常条件)感兴趣以及等待多长时间。不局限于套接字,任何描述符都可以使用select来测试。当然,我们最熟悉的描述符是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE原创 2015-11-10 14:22:12 · 377 阅读 · 0 评论 -
My Network programming library
1.服务器初始化函数/********************************************************************函数名:服务器初始化函数参考:APUE功能:socket,bind,listen动作的集合返回值:成功返回套接字描述符,失败返回-1 ***********************************************原创 2015-11-10 10:04:12 · 256 阅读 · 0 评论 -
poll函数与epoll函数详解
poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。#include int poll(struct pollfd fd[], nfds_t nfds, int timeout);参数: 1)第一个参数:一个结构数组,struct pollfd结构如下:struct pollfd{ int fd; //文件描原创 2015-11-10 14:42:36 · 702 阅读 · 0 评论 -
Chat functions realize based I / O multiplexing
#include #include #include #include #include #include #include #include #include #include #include #define MAXBUF 1024/******************************************************************原创 2015-11-10 11:08:43 · 317 阅读 · 0 评论 -
判断主机节序函数
字节序是一个处理器架构特性,用于指示像整数这样的大数据类型内部的字节如何排序。大端字节序:最大字节地址出现在最低有效字节上。小端字节序:最低有效字节包含最小字节地址。#include using namespace std;static union{ short s; char c[sizeof(short)];} test;void testBigEnd原创 2015-11-09 14:57:48 · 245 阅读 · 0 评论 -
一个简单的服务器客服端通信
/*client.cpp*/#include #include #include #include #include #include #include #include #include using namespace std;int main(int argc,char *argv[]){ int sockfd; char buffer[1024]; s原创 2015-09-19 21:56:01 · 297 阅读 · 0 评论 -
linux下简单聊天室(未完待更新)
学了网络编程,一直想来练练手,于是决定自动动手来完成一个linux下简单聊天室的项目,本着由浅入深的原则,我会先从最简单的功能开始,然后逐渐增加其他功能。由于本人对QT的网络编程块还不熟悉,所以不会对界面进行设计。涉及内容:TCP/IP通信 多线程原创 2015-10-16 22:16:09 · 477 阅读 · 0 评论 -
管道通信(半双工)
#include "unpipc.h"#include #include using namespace std;void client(int,int),server(int,int);int main(int argc,char **argv){ int pipe1[2],pipe2[2]; pid_t childpid; pipe(pipe1); //原创 2015-09-13 22:59:24 · 666 阅读 · 0 评论 -
unpipc.h下载和编译
http://blog.chinaunix.net/uid-27164517-id-3320677.html1. 编译原书所带例子: unpv22e.tar.gz 下载地址:http://www.kohala.com/start/unpv22e/unpv22e.tar.gz 2. 解压: $tar -zxvf unpv22e.tar.gz 3. 编译:转载 2015-09-13 21:58:22 · 1276 阅读 · 0 评论 -
TCP/IP三路握手,四分组终止连接
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:原创 2015-09-18 15:23:38 · 582 阅读 · 0 评论