摘要:
一、初始化string对象的方式 输出: 注意:任何出现字符串字面值的地方都可以用以空字符结束的字符数组来替代(以空字符结束的指针也可以)。 二、string的常用操作 1)is>>s:从is中读取字符串赋给s,字符串以空白分隔,返回is。 在执行读取操作时,string对象会自动忽略开头的空白(即 阅读全文
摘要:
一、select 使用select函数可以将多个文件描述符集中到一起统一监视,监视事件如下: 是否存在待读取数据。 是否可传输无阻塞传输数据。 是否发生异常。 将关心上述3种事件的文件描述发分别注册到对应参数(readfds,writefds,exceptfds)中去。 int select(int 阅读全文
摘要:
UDP是具有数据边界的协议,传输中调用I/O函数的次数非常重要。输入函数的调用次数要和输出函数的调用次数完全一致,这样才能保证接受全部已发送的数据。 TCP套接字中需注册待传输数据的目标IP和端口,而UDP中无需注册。通过sendto函数传递数据的过程大约分为3个阶段:第1阶段:向udp套接字注册目 阅读全文
摘要:
一、TCP服务端 1、TCP服务端的默认函数调用顺序 socket()创建套接字 bind()分配套接字地址 listen()等待请求连接状态 accept()允许连接 read()/write()数据交换 close()断开连接 2、进入等待连接请求状态 只有调用了listen函数,客户端才能进入 阅读全文
摘要:
一、套接字 1、面向连接的套接字 传输特点: 传输过程中数据不会消失。 按序传输数据。 传输的数据不存在数据边界。 套接字连接必须一一对应(若要向10个客户端套接字提供服务,则除了守门的服务器套接字外,还需要10个服务器端套接字)。 收发数据的套接字内部有缓冲,简而言之就是字节数组。通过套接字传输的 阅读全文
摘要:
继承的时候,调用父类的构造函数的方法:使用super()函数,只需要调用一次就行,会自动调用所有父类和父类的父类的构造函数 输出为: 阅读全文
摘要:
io_service的任务执行流程:调用run方法,进入主loop;判断公有队列是否为空,不为空则取出任务并执行,当任务数大于1时同时唤醒其他空闲线程;任务执行结束,把各个线程的私有队里面的任务移动到公有任务队列里面。触发reactor,linux下面一般是epoll,当有事件时,把相应的事件的任务 阅读全文
摘要:
1.socket类是TCP通信的基本类,调用成员函数connect()可以连接到一个指定的通信端点,连接成功后用local_endpoint()和remote_endpoint()获得连接两端的端点信,用read_some()和write_some()阻塞读写数据,当操作完成后使用close()函数 阅读全文
摘要:
thread库使用future范式提供了一种异步操作线程返回值的方法,因为这个返回值在现场开始执行时还是不可用的,是一个未来的期待值,所以被称为future。future使用packaged_task和promise两个模板类来包装异步调用,用unique_future和shared_future来 阅读全文