TCP/IP知识略过,大致总结一下几点
- 理解OSI七层模型理论,理解TCP/IP模型的四层结构:应用层,传输层,网络层,网络接口层。
- TCP/IP协议包含非常多的协议,TCP和IP只不过是其中最有代表性的两种。
- C/S结构:代表IM,属于TCP SOCKET编程; B/S结构:代表JD商城,属于HTTP编程,HTTP也是TCP/IP协议的一部分。
- 关于网络部分,必须深刻理解TCP/IP,才能做好后续开发,本处不再赘述。
- 端口少开,多开一个多一份风险,服务器能少开端口就少开;系统必须纯净版;单端口对应单程序,不能复用;
TCP SOCKET编程的Client端和Server端
- 一般是多Client对应少数Server。
- 服务器端的处理流程:
监听端口(Listening);
接收客户端的TCP请求,建立客户端与服务器端链接;
创建goroutine,处理该链接请求(Client通过发送请求包)。 - 客户端的处理流程:
建立与服务端的链接(通过随机定义的端口链接服务器监听端口);
发送请求数据,接收服务器端返回的结果数据;
关闭链接(TCP占资源开销,类似打开文件要defer关闭防止内存泄漏);