1、网络通信三要素:
IP地址:计算机在网络上的唯一标识
127.0.0.1 环回地址
端口:计算机上应用或服务的唯一标识。
范围:1-65535(我们自己的应用程序尽可能使用10000之后的端口)
通信协议:通信双方的一种约定
TCP/IP族:这是一套协议,而不是一个协议
TCP/IP协议栈:这是一套软件,实现TCP/ID标准协议的软件
2.TCP和UDP的区别:
TCP:它是面向连接
它的通信可靠性高
它的通行效率较低
会粘包
UDP:它是无连接
它的通信可靠性低
它的通行效率更高
不粘包
3.Client/Server 客户端/服务器
Socket套接字:提供给网络编程使用的API
Socket的结构:本地/远程IP、本地/远程端口 、接受/发送缓冲区
4. ServerSocket: 分配Socket与请求ServerSocket的Socket通信
Socket: 对ServerSocket发起请求
搭建一个网络应用程序:
1.搭建网络通信框架
服务端主类
服务端接受线程
客户端主类(单例)
客户端接受线程
2.通信协议
--登录、注册、获取好友、获取历史聊天记录
--登录业务
登录请求消息(C>S):LOGIN,ID,密码
--登录应答消息(S>C):lOGIN,SUC/FALL;
--注册业务
注册请求消息(C>S):REG,NAME,密码,性别
--注册应答消息(S>C):REG,SUC/FALL,ID;
--获取好友业务
好友请求消息(C>S):FRIENDS,用户ID
--好友应答消息(S>C):FRIENDS,ID1,ID2,ID3;
--获取聊天记录
聊天请求消息(C>S):HISCHAT,用户ID,好友ID
-- 聊天应答消息(S>C):HISCHAT,sendId&chatMsg,sendid&chatMsg
3.协议的封装
4.开始完成业务