同步写write_some
boost::asio提供了几种同步写的api,write_some可以每次向指定的空间写入固定的字节数,如果写缓冲区满了,就只写一部分,返回写入的字节数。
1 | void wirte_to_socket(asio::ip::tcp::socket& sock) { |
boost::asio提供了几种同步写的api,write_some可以每次向指定的空间写入固定的字节数,如果写缓冲区满了,就只写一部分,返回写入的字节数。
1 | void wirte_to_socket(asio::ip::tcp::socket& sock) { |
网络编程的基本流程对于服务端是这样的
服务端
1)socket—-创建socket对象。
2)bind—-绑定本机ip+port。
3)listen—-监听来电,若在监听到来电,则建立起连接。
4)accept—-再创建一个socket对象给其收发消息。原因是现实中服务端都是面对多个客户端,那么为了区分各个客户端,则每个客户端都需再分配一个socket对象进行收发消息。
5)read、write—-就是收发消息了。
对于客户端是这样的
客户端
1)socket—-创建socket对象。
2)connect—-根据服务端ip+port,发起连接请求。
3)write、read—-建立连接后,就可发收消息了。