您的位置:首页 > 理论基础 > 计算机网络

奋斗在JAVA路上的随手记——网络编程基础知识、TCP通信流程

2018-12-20 16:31 351 查看

第一章 网络编程基础知识

1、两种软件架构
A、BS架构
a.含义
B:Browser浏览器
S:Server服务器
b.举例
某猫、某东、度娘
c.特点
直接使用浏览器,访问网站,就可以进去

B、CS架构
a.含义
C:Client客户端
S:Server服务器
b.举例
企鹅、企鹅音乐、撸啊撸
c.特点
需要下载客户端,安装客户端,才能使用
2、网络编程三要素
A、IP地址 (ipv4和ipv6)
a.查看IP地址的指令 ipconfig
b.本地默认IP地址 127.0.0.1

B、端口号
a. 端口号 范围是 0~65535
b. 其中 0~1024 属于系统端口,不要使用

C、通信协议
a.TCP协议
传输数据大
安全性高
速度慢
b.UDP协议
传输数据小 64KB
安全性低
速度快

第二章 TCP通信流程

1、客户端(发送数据)操作步骤
A. Socket clickSocket = new Socket("IP地址",端口号); //创建Socket的对象
B. OutputStream os = clickSocket.getOutputStream(); //获取IO流对象(输出)
C. os.write("需要写入的数据"); //写数据,可以进行流的增强
D. os.close(); //释放资源
2、服务端(接收数据)操作步骤
A. ServerSocket serverSocket = new ServerSocket(端口号); //创建ServerScoket对象
B. Socket clientSocket = serverSocket.accept(); 		//连接客户端Socket对象
C. InputStream is = clickSocket.getInputStream(); 		//获取IO流对象(输入)
D. int ch = is.read(); 		//读数据,可以进行流的增强
E. is.close(); 			   //释放资源
3、服务端(回复数据)操作步骤
A. OutputStream os = clientSocket.getOutputStream(); //获取IO流对象(输出)
B. os.write("需要写回的数据"); 	//写数据,可以进行增强流
C. os.close();  		 		//释放资源
D. clickSocket.close();  		//关闭客户端socket
4、客户端(接收数据)操作步骤
A. InputStream is = clickSocket.getInputStream(); //获取IO流对象(输入)
B. int ch = is.read(); 	 //读数据  可以进行流的增强
C. is.close(); 			//释放资源
D. clickSocket.close();  //关闭客户端socket
5、注意事项
A.采用 BufferedReader 和 BufferedWriter 进行读写操作.
BufferedWriter 每次写完一个数据,需要换行和刷新.才能被 BufferedReader 读取得到
原因是: BufferedReader 采用 readLine()读取数据的结束条件是 "遇到换行符结束"

B.客户端的 Socket 和 服务端获取客户端Socket要匹配上
客户端的 Socket ----- 匹配到 ---> 服务端的 serverSocket.accept();

第三章 一些优化问题

1、相关代码的优化处理
A、服务端文件以毫秒值命名的处理问题
long time = System.currentTimeMillis();

B、客户端通知服务器数据书写完毕
clickSocket.shutdownOutput();
2、多线程版本服务端优化
//获取服务端的ServerSocket的对象
ServerSocket serverSocket = new ServerSocket(端口号);
//死循环.不断的开启获取单独客户端的连接
while(true){
//获取客户端的Socket
Socket clientSocket = serverSocket.accept();
//开启线程,可以采用lambda表达式
new Thread(()->{
try{
//编写以前的代码.获取IO流对象...释放资源
}catch(IOException e){
e.printStackTrace();
}
}).start();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐