- 博客(13)
- 资源 (12)
- 收藏
- 关注
原创 C++ Socket(六)
1、主要的IO模式IO模式是指从socket中读写数据(特别是读)的方式,常见的IO模式有1.1 阻塞IO模型当用户进程调用读取函数(如recvmsg())时,内核将阻塞用户进程直至有足够数据达到读取函数才返回。1.2 非阻塞IO模型当用户进程调用读取函数(如recvmsg())时,内核立即返回数据(没有数据的话就返回错误信息)给用户进程(即读取函数将立即返回)。这样的
2017-08-29 15:21:18 1007
原创 C++ Socket(五)
recvmsg()/sendmsg()函数是socket编程中最常用的函数。其他IO函数能实现的一切功能recvmsg()/sendmsg()都可实现,下面是一个简单的例子服务端#include #include#include#include#include#include #include #include#includeusing namespace std;
2017-08-29 11:22:06 411
原创 C++ Socket(四)
Socket编程中两个重要的系统信号量信号量又称为软中断。在Linux系统中,信号量是系统向用户进程发出通知的重要方式!系统会首先调用用户进程中注册的处理函数,最后调用系统默认的处理函数病吞没这个信号量。信号量注册函数为#includetypedef void (*__sighandler_t) (int);__sighandler_t signal (int __si
2017-08-17 16:38:22 292
原创 C++ Socket(三)
IO函数主要的IO函数有read()/write()recv()/send()recvmsg()/sendmsg()readv()/writev()write()函数#include ssize_t write (int __fd, const void *__buf, size_t __n);将长度为__n的字节从__buf写入__fd指向的文件中
2017-08-17 14:41:46 713
原创 pthread(二)
线程属性线程属性使用初始化函数pthread_attr_init()创建(创建必须发生在pthread_create()函数使用这个线程属性之前)。线程属性设置只能通过专用函数操作,不能直接修改数据结构1、线程优先级pthread_attr_getschedparam():获取线程优先级pthread_attr_setschedparam():设置线程优先级2、线程
2017-08-16 16:43:03 523
原创 pthread(一)
#include #ifdef __cplusplusextern "C" {#endif#include#ifdef __cplusplus}#endifusing namespace std;void* do_task(void* params);int main(){ cout << "Hello World!" << endl; pthre
2017-08-15 19:30:43 353
原创 Linux进程(二)
PID,getpid()#include #include pid_t getpid(void);//获取当前线程的PIDpid_t getppid(void);//获取当前进程的父进程PID查找特定进程号命令:ps -x|grep XXXX进程产生方式1、fork()以父进程为蓝本,复制一个进程。复制出的进程PID与父进程的PID不同。#include
2017-08-15 15:55:41 271
原创 Linux进程(一)
进程产生过程1、复制父进程环境配置2、在内核中建立进程结构PCB3、将这个结构(PCB)插入到进程列表,交给操作系统管理调度4、操作系统调起进程,分配进程5、复制父进程的内存映射信息6、管理文件描述符和链接点7、通知父进程进程终止方式1、从main函数返回2、调用exit函数3、调用_exit函数4、调用abort函数5、由信号量终止进程在终
2017-08-15 15:33:43 254
原创 C++ Socket(二)
服务器实例#include #includeusing namespace std;#ifdef __cplusplusextern "C" {#endif#include#include#include#include #include #ifdef __cplusplus}#endif#ifndef MYSOCKET_PORT#define MYSOC
2017-08-14 17:44:48 451
原创 C++ Socket(一)
1、Socket流程1.1、三次握手:这是建立TCP连接过程2、socket()#include#includeint socket(int domain,int type,int protocol);domain:域,socket函数根据此参数选择通信协议的族,通信协议族在文件sys/socket.h中定义。在以太网中用PF_INET(有时也用AF
2017-08-14 14:31:25 704
原创 QT Linux
1、安装在Ubuntu Software Center中搜索Qt,找到QtCreator,点击安装即可2、使用Ctrl+i => 格式化代码
2017-08-11 19:36:40 329
原创 POSIX标准
1、什么是POSIX标准Portable Operating System Interface for Computing System.他是一个针对操作系统(准确地说是针对类Unix操作系统)的标准化协议。这个协议是对操作系统服务接口的标准化,从而保证了应用程序在源码层次的可移植性。如今主流的Linux系统都做到了兼容POSIX标准。2、POSIX标准的C/C++库C/C++的标准库是指ANSI...
2017-08-11 11:48:10 15918
原创 C++ 复习——关于字节
1、位,一个01开关就是一个位,常用bit/b表示2、字节,在计算机科学领域,字节指的是8位内存单元,常用byte/B表示,是度量计算机存储空间大小的度量单位。我们说的1KB就是1024个字节,即1024*8位。在C++里,字节定义稍有不同。一个字节包含的位数可表示的状态(例如8位可表示的状态是256种)应足以覆盖基本字符集(ASCII)字符的个数。通常的C++实现中使用的字符系统是ASC
2017-08-10 13:36:12 1665
区块链二十四 对《区块链二十三 Hyperledger Fabric技术 深入研究MSP配置及启动文件》的验证
2018-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人