网络通讯要具备以下条件 具备公网IP的电脑 《》普通的电脑 局域网的电脑 《》 同内网的电脑 网络通讯的API 套接字编程 最原始的网络通讯编程 socket(WINDOWS和Linux提供的网络编程接口) 数据传输的流程 原始电脑-》路由器-》交换机-》目标电脑 可靠通讯 TCP协议 系统层处理 由操作系统帮我们做好了包的发送和接受可靠处理 写代码不用考虑包到没到目标电脑 中间不存在丢失 TCP由于全世界所有的电脑都在使用 所以他会考虑普通的应用需求 可能有时候速度会有影响 不可靠通讯 包会在传输中 丢失 网络数据包的传输在底层 本身不可靠 存在丢失的情况 如果不处理丢包(系统层处理 (系统会帮处理) 业务层处理) UDP协议 直接利用底层数据包传输 底层不考虑丢包问题 因此用户使用时 可能会丢包 一般情况下 建议使用TCP 因为UDP 会丢包 除非自己能处理丢包问题 或者使用第三方库(使用了UDP 但是自己在用户层处理了可靠的传输 列入KCP) 使用TCP通信 需要两端 (C/S) SERVER 服务端 和 CLIENT客户端 (B/S)浏览器和服务端 通信 socket API socket() 创建套接字 bind() 绑定窗口 accept() 接受请求 listen() 监听 recv()收包 send()发包 closesocket() 关闭套接字