美文网首页
8.1.1 配置 Socket 服务器

8.1.1 配置 Socket 服务器

作者: spbreak | 来源:发表于2016-03-08 21:08 被阅读108次

BSD Socket 服务器必须通过调用 bind(int socketFileDescriptor, sockaddr *addressToBind, int addressStructLength) 与具有唯一地址的 Socket 关联. 它会接收一个 Socket 并将其分配或是绑定到某个特定的地址与端口. 绑定成功返回 0, 否则返回 -1. 绑定 Socket 后, 接下来的步骤取决于你在 socket() 调用中指定的连接类型, 即 UDP 或 TCP:

- 对于 UDP Socket 来说, 现在就可以开始向外界传输数据了, 因为 UDP 是个无连接的协议, 不需要在另一端监听

- TCP Socket 是个面向连接的协议, 需要在 Socket 的另一端有参与者. 要想建立 TCP 连接, 你需要调用 listen(int socketFileDescriptor, int backlogSize) 以建立好缓冲区队列的数据结构

作为第一个参数传递进去的 Socket 会成为只读 Socket, 不能用于发送消息. backlogSize 表示有多少个挂起的连接在排队的同时等待服务端代码的使用.  在监听时, 服务器会等待进来的连接请求并调用 accept(int socketFielDescriptor, sockaddr *clientAddress, int clientAddressStructLength)来接收请求. 这会将挂起的请求从缓冲队列中移除, 并使用客户端的地址信息(最主要的是 IP 地址与端口)来装配 clientAddress 结构体. 接受了挂起的请求后, 服务器就可以从客户端接收消息

相关文章

  • 8.1.1 配置 Socket 服务器

    BSD Socket 服务器必须通过调用 bind(int socketFileDescriptor, socka...

  • Socket详解

    在客户端/服务器通信模式中,Socket是双方通信通道的抽象封装,用户可通过配置Socket的参数并构建Socke...

  • socket 编程基础

    TCP 服务器的工作流程: 服务器调用 socket() 创建 socket; 服务器调用 bind() 绑定端口...

  • 腾讯云的localhost并不是127.0.0.1

    在配置nginx和uWSGI的时候,socket往往都是127.0.0.1这种,但是我试过,轻量型服务器的内网并不...

  • day017 笔记 08-07

    socket套接字 通过socket实现服务器端 通过socket实现客户端 多次通信(服务器端) 多次通信(客户...

  • day19-网络通信

    1.socket服务器 代码示例 2.socket客户端 代码示例 3.socket服务器升级 代码示例 4.接受...

  • Day018_笔记总结

    服务器套接字 import socketwhile True: server = socket.socket...

  • iOS-Socket基本运用

    Socket使用步骤 创建客户端Socket. 客户端Socket连接到服务器Socket 客户端Socket向服...

  • 网络通信

    1、回顾正则表达式 2、socket服务器 3、socket客户端 4、socket-服务器升级 5、接收图片的客...

  • 配置vue-socket 遇到的问题

    一开始用的时候 没有配置 options,socket 提交方式默认是polling 模式,怎么样都连不上服务器都...

网友评论

      本文标题:8.1.1 配置 Socket 服务器

      本文链接:https://www.haomeiwen.com/subject/mmuzkttx.html