《JAVA程序员培训定制课程c15.ppt》由会员分享,可在线阅读,更多相关《JAVA程序员培训定制课程c15.ppt(16页珍藏版)》请在三一办公上搜索。
1、第十五章,网络编程,2,本章内容,使用包中的类在程序中实现网络通信URL类及其用法Socket通信,3,URL,URL(Uniform Resource Locator)-统一资源定位器,表示Internet上某一资源的地址。URL组成:协议名和资源名protocol:resourceNameURL举例:http:/,4,.URL类,常用构造方法public URL(String spec);URL u1=new URL(“http:/URL(URL context,String spec);URL u2=new URL(u1,“welcome.html”);public URL(String
2、 protocol,String host,String file);URL u3=new URL(“http”,“”,“developers/index.html”);public URL(String protocol,String host,int port,String file);URL u4=new URL(“http”,“”,80,“developers/index.html”);,5,URL类应用举例(1),import java.io.*;import.*;public class URLReaderpublic static void main(String args)tr
3、yURL tirc=new URL(http:/in=new BufferedReader(new InputStreamReader(tirc.openStream();String s;while(s=in.readLine()!=null)System.out.println(s);in.close();catch(MalformedURLException e)System.out.println(e);catch(IOException e)System.out.println(e);,6,URL类应用举例(2),程序URLReader.java输出结果:清华大学网站首页,7,Soc
4、ket,两个Java应用程序可通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个socket。socket通常用来实现client-server连接。包中定义的两个类Socket和ServerSocket,分别用来实现双向连接的client和server端建立连接时所需的寻址信息远程计算机的机器名或IP地址试图连接的端口号(Port number),8,Socket通信模型,Server,ServerSocket s(port#),s.accept()/等待连接,Socket(),OutputStream,InputStream,socket.close(),Client,So
5、cket(host,port#)(Attempt to connect),OutputStream,InputStream,socket.close(),9,网络编程的四个基本步骤,创建socket;打开连接到socket的输入/输出流;按照一定的协议对socket进行读/写操作;关闭socket;,10,创建socket,Socket/ServerSocket类的构造方法Socket(InetAddress address,int port);Socket(InetAddress address,int port,boolean stream);Socket(String host,int
6、port);Socket(String host,int port,boolean stream);ServerSocket(int port);ServerSocket(int port,int count);,11,客户端Socket的建立try Socket socket=new Socket(”127.0.0.1,2000);catch(IOException e)System.out.println(Error:+e);,12,服务器端Socket的建立ServerSocket server=null;try server=new ServerSocket(2000);catch(I
7、OException e)System.out.println(can not listen to:+e);Socket socket=null;try socket=server.accept();catch(IOException e)System.out.println(Error:+e);,13,打开输入/出流PrintStream os=new PrintStream(new BufferedOutputStream(socket.getOutputStream();DataInputStream is=new DataInputStream(socket.getInputStrea
8、m();关闭Socketos.close();is.close();socket.close();,14,简单的client/server程序,import.*;import java.io.*;public class TestServer public static void main(String args)ServerSocket s=null;try s=new ServerSocket(8888);catch(IOException e)while(true)try Socket s1=s.accept();OutputStream os=s1.getOutputStream();
9、DataOutputStream dos=new DataOutputStream(os);dos.writeUTF(Hello,bye-bye!);dos.close();s1.close();catch(IOException e),15,简单的client/server程序,import.*;import java.io.*;public class TestClient public static void main(String args)try Socket s1=new Socket(127.0.0.1,8888);InputStream is=s1.getInputStream();DataInputStream dis=new DataInputStream(is);System.out.println(dis.readUTF();dis.close();s1.close();catch(ConnectException connExc)System.err.println(服务器连接失败!);catch(IOException e),16,Ex1,分析并运行M15-14、15页的client/server程序,体会Socket编程原理及其实现机制;,
链接地址:https://www.31ppt.com/p-5373888.html