java 程序设计 第12章.ppt
文本预览下载声明
第12章?Java的网络编程 12.1 网络编程基础 12.2 Socket通信 12.3 无连接的数据报 12.4 URL访问 12.1.1 网络协议 TCP UDP 1、Socket类 Socket(String, int) ----构造一个连接指定主机、指定端口的流Socket。 ?Socket(String, int, boolean)---构造一个连接指定主机、指定端口的Socket类,boolean类型的参数用来设置是流Socket还是数据报Socket。 ?Socket(InetAddress, int)----构造一个连接指定Internet地址、指定端口的流Socket。 ?Socket(InetAddress, int, boolean)----构造一个连接指定Internet地址、指定端口的Socket类,boolean类型的参数用来设置是流Socket还是数据报Socket。 ?2、ServerSocket类 ServerSocket(int) 在指定端口上构造一个ServerSocket类。 ServerSocket(int, int) 在指定端口上构造一个ServerSocket类,并进入监听状态,第二个int类型的参数是监听时间长度。 3、建立连接与数据通信 例12-1 一个最简单的Socket通信演示程序 程序1:服务方程序 import .*;import java.io.*;public class SimpleServer {? public static void main(String args[]) {???? ServerSocket s=null ;???? try {?????? s = new ServerSocket(5432); //规定服务端口????? } catch (IOException e) { } 程序1:服务方程序(续) while (true) { try {????? Socket s1= s.accept() ; ????? OutputStream s1out= s1.getOutputStream(); ????????? DataOutputStream dos = new DataOutputStream (s1out);????????? dos.writeUTF(Hello World!);????????? System.out.println(a client is conneted….);????????? s1.close();?????? } catch (IOException e) { }??? }? }} 程序2:客户方程序 import .*; import java.io.*;public class SimpleClient { public static void main(String args[])throws IOException { ???? Socket s1;?? DataInputStream dis;????? s1 = new Socket(localhost,5432); ????? InputStream s1In= s1.getInputStream(); ????? DataInputStream dis = new DataInputStream(s1In);?????? String message = new String ( dis.readUTF() ); ????? System.out.println(message);????? s1.close();?? }?} 简单的多用户聊天程序 import .*;import java.io.*;public class SimpleTalkServer {?? public static Client[] allclient=new Client[20]; //存放所有通信线程?? public static int clientnum=0; //连接客户数?? public static void main(String args[]) {??? try {?????? ServerSocket s = new ServerSocket(5432);?????? while (true) {????????? Socket s1=s.accept(); //等待客户连接???????? DataOutputStream dos = new DataOutputStream(
显示全部