1.什么是C/S架构? Client 客户端 Server 服务端 互联网中到处是C/S架构 如12306网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯做为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频) C/S架构与socket的关系: 咱们学习socket就是为了完成C/S架构的开发2.互联网协议是什么?分别介绍五层协议中每一层的功能? 互联网协议:计算机界的英语 OSI七层: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP/IP四层/五层: 应用层 应用层 :软件 qq 暴风 传输层 传输层 :创建端口到端口的通讯 0-65535 0-1023为系统占用端口 tcp ucp 网络层 网络层 :ip+mac 能找到全世界惟一的计算机 ip:找到哪个局域网 mac:找到那一台机器 数据链路层 接口层 :定义电信号的分组方式 物理层 :发送01010101...电信号3.基于tcp协议通讯,为什么创建连接须要三次握手,而断开连接却须要四次挥手 三次握手:client请求,server赞成请求,client赞成 四次挥手:client请求,server赞成,server请求,client赞成 由于:server有可能还有数据要发送4.为什么基于tcp协议的通讯比基于udp协议的通讯更可靠? tcp:可靠 对方给了确认收到信息,才发下一个,若是没收到确认信息就重发 udp:不可靠 一直发数据,不须要对方回应5.流式协议指的是什么协议,数据报协议指的是什么协议? 流式协议:TCP协议,可靠传输 数据报协议: UDP协议,不可传输6.什么是socket?简述基于tcp协议的套接字通讯流程 Socket是应用层与TCP/IP协议族通讯的中间软件抽象层,它是一组接口。 socket == 片面说: ip + 端口 服务端:socket(),bind(),listen(),accept(),recv(),send(),close() 客户端:socket(),connect(),send(),recv(),close()7.什么是粘包? socket 中形成粘包的缘由是什么? 哪些状况会发生粘包现象? 粘包:数据粘在一块儿,主要由于:接收方不知道消息之间的界限,不知道一次性提取多少字节的数据形成的 数据量比较小,时间间隔比较短,就合并成了一个包,这是底层的一个优化算法(Nagle算法)8.基于socket开发一个聊天程序,实现两端互相发送和接收消息 -- 4.加上连接循环9.基于tcp socket,开发简单的远程命令执行程序,容许用户执行命令,并返回结果 -- 5.模拟ssh远程执行命令10.基于tcp协议编写简单FTP程序,实现上传、下载文件功能,并解决粘包问题 --11.文件传输 面向对象版本11.基于udp协议编写程序,实现功能 -- 14.UDP执行指令查看服务端的时间,设置时间同步 执行指定的命令,让客户端能够查看服务端的时间 执行指定的命令,让客户端能够与服务的的时间同步程序参考:http://www.cnblogs.com/alice-bj/p/8610363.html