欢迎来到天天文库
浏览记录
ID:41033445
大小:740.50 KB
页数:29页
时间:2019-08-14
《第十三天 网络编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第十三天网络编程、设计模式3.1、网络编程(了解) 网络编程指的就是通过网络进行程序数据操作,既然是网络开发,那么一定就分为用户和服务两端,而这两个端的开发实际上就有以下的两种不同的架构(面试题:请解释C/S和B/S的区别?):· C/S(Client/Server):要开发两套程序,一套是服务器端,另外一套是与之对应的客户端,但是这种程序在日后进行维护的时候,是需要维护两套程序,而且客户端的程序更新也必须及时,此类程序安全;· B/S(Browser/Server):要开发一套程序,只开发服务器端的,客户端使用浏览器进行访问,这种程序在日后进行
2、程序维护的时候只需要维护服务器端即可,客户端不需要做任何的修改,此类程序使用公共端口,包括公共协议,所以安全性很差。 如果从网络的开发而言,大的分类是以上的两类,可是从现在的开发来讲,更多的情况是针对于B/S程序进行的开发,或者可以这么理解:B/S程序的开发属于网络时代,而C/S程序的开发属于单机时代。而对于WebService的开发,实话而言,也属于B/S结构的程序(跨平台)。 而在日后学习Android开发的时候,如果要考虑安全性使用Socket,如果要考虑方便性,还是基于WEB的开发方便使用。而对于网络的开发在Java中也分
3、为两种:TCP(传输控制协议,可靠的传输)、UDP(数据报协议),对于网络开发,本次只专注于TCP程序的实现。3.2、网络程序的基本实现(了解) 如果要进行网络程序的开发,那么首先应该开发出的就是服务器端,本次的操作使用服务器端向客户端输出一个“HelloWorld.”的字符串信息,而如果要想完成服务器端的开发,则需要java.net包中的两个类: · ServerSocket类:是一个封装支持TCP协议的操作类,主要工作在服务器端,用于接收客户端请求; · Socket类:也
4、是一个封装了TCP协议的操作类,每一个Socket对象都表示一个客户端。 而现在必须观察这两个类之中的操作方法: · ServerSocket类的方法:No.方法名称类型描述1publicServerSocket(intport)throwsIOException构造开辟一个指定的端口监听,一般使用5000以上2publicSocketaccept()throwsIOException普通服务器端接收客户端请求,通过Socket返回3publicvoidclose()throwsIOException普通关闭服
5、务器端 · Socket类的方法:No.方法名称类型描述1publicSocket(Stringhost,intport)throwsUnknownHostException,IOException构造指定要连接的主机(IP地址)和端口2publicOutputStreamgetOutputStream()throwsIOException普通取得指定客户端的输出对象,使用的时候肯定使用PrintStream装饰操作3publicInputStreamgetInputStream()throwsIOException普通从指定
6、的客户端读取数据,使用Scanner操作范例:完成一个服务器端程序代码package cn.mldn.netdemo;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;public class HelloServer{ public static void main(String[]args) throws Exception{ ServerSocketserver= new ServerSocket(9999); // 在9999端口
7、监听 System.out.println("服务开始启动..."); Socketclient=server.accept(); // 接收客户端连接,进入到阻塞状态 PrintStreamout= new PrintStream(client.getOutputStream()); out.println("HelloWorld."); // 向客户端输出 out.close(); // 输出流的关闭 client.close(); // 关闭客户端 serve
8、r.close(); /
此文档下载收益归作者所有