TCP

  • 网络编程的两种
    • TCP socket编程(套接字)- TCP/IP协议,C/S结构
    • b/s结构的HTTP编程 - HTTP协议,底层仍然是TCP/IP (GO Web编程)
  • TCP/IP协议
  • OIs 与TCP/IP参考模型
  • IP地址
    • 每一个主机,路由器都有IP地址,包括主机号和网络号,IP地址有IPv4(32位)和IPv6(128位)
  • 端口
    • 一共65535个端口
    • 一旦端口被占用,其他程序就无法使用该端口
    • 0为保留端口
    • 1~1024为固定端口
    • 1025~65535是动态端口
    • 尽量少开端口
    • 一个端口只能被一个程序监听
    • netstat -an查看本机有哪些端口在监听
    • netstat -anb查看监听端口的pid

Socket编程

  • 服务器端处理流程
    • 监听端口
    • 接收客户端的tcp连接,建立和客户端的连接
    • 创建goroutine,处理客户端的请求
  • 客户端处理流程

海量用户通讯系统

  • 需求分析
    • 用户注册
    • 用户登录
    • 显示在线用户列表
    • 群聊(广播)
    • 点对点聊天
    • 离线留言
  • 界面设计
  • 技术准备
    • 如何使用Redis

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

Golang使用Redis 上一篇
Go的并发编程 下一篇