文档详情

Java-第2章了解Socket编程.ppt

发布:2017-05-22约4.73千字共37页下载文档
文本预览下载声明
* Java分布式程序设计 信息工程学院 * 第二章 了解Socket编程 授课教师:杨杰明 * 目 录 内部通信方式 什么是Socket TCP/IP和UPD/IP通信 客户服务器通信 使用Java进行Socket编程 Greetings服务器实例 解析Internet地址 * 1. 内部通信方式 IO操作的执行顺序 打开:指明并获取要访问的文件或设备的许可 读写:从对象中读取数据、将数据传递给对象 关闭:提示系统已经使用完了对象 Unix系统中相关进程间通信 管道(Pipe):将两个进程连接在一起的一个虚拟文件 例:cat myClass.java|lpr * 2. 什么是Socket? 2.1 用户和网络间的接口(Socket) * 2. 什么是Socket? 2.1.1 通信基于Socket对 套接字 每个Socket属于一个通信进程 进程间的通信就是一个进程的Socket和另个进程的Socket间传输信息 Socket地址 由一个Internet地址和一个端口号组成 端口号:用于区别与运行在同一台机器的不同服务。(1024 --- 65535) * 2. 什么是Socket? 2.1.2 Socket类型 SOCK_STREAM 提供字节(Byte-to-Byte)流通信 SOCK_DGRAM 用于数据报传输 SOCK_RAW 提供给那些对信息传输进行高级控制的用户 * 3. TCP/IP和UDP/IP通信 3.1 数据报通信协议(User Datagram Protocol,UDP) 无连接协议 可以在任何时刻发送数据 需要附加发送方Socket和接收方Socket信息 数据报不能超过64K UDP协议无法保证所发送的数据报以同样地顺序被对方接收。 UDP协议是不可靠的协议 UDP的复杂程度较低,需要的系统开销较小 * 3. TCP/IP和UDP/IP通信 3.2 流通信协议(Transmission Control Protocol,TCP) 面向连接的协议 在通信之前必须在两个Socket之间建立连接 发送数据时,不需要附加发送方和接收方信息 对数据的大小没有限制 TCP能够保证发送的数据被接收方以相同的顺序被接收 TCP是可靠的传输协议 建立TCP连接需要消耗系统时间 * 4. 客户/服务器通信 客户/服务器通信的一般步骤 * 5. 使用Java进行Socket编程 Java的网络编程支持 Java.net包 Socket类(TCP) DatagramSocket类(UDP) * 5. 使用Java进行Socket编程 2. 数据流 OutputStream类 提供write方法 可以通过Socket类的getOutputStream()方法得到 InputStream类 提供read方法 可以通过Socket类的getInputStream()方法得到 其他流 BufferedReader、BufferedWriter FileInputStream、FileOutputStream DataInputStream、DataOutputStream 这些类型的流都可以从InputStream类和OutputStream类转化 * 5. 使用Java进行Socket编程 3. TCP Socket 使用Socket编写客户或服务器程序的步骤 打开一个Socket 创建一个数据输入流 创建一个数据输出流 关闭Socket * 5. 使用Java进行Socket编程 3.1 打开一个Socket ---客户端 Socket c1=null; try { cl = new Socket(machine name,REMOTE_PORT); } catch(UnknownHostException e1) { System.out.println(Unknown Host: +e1); } catch (IOException e2) { System.out.println(Error io: +e2); } * 5. 使用Java进行Socket编程 3.1 打开一个Socket---服务器 ServerSocket checkServer = null; public static final int TESTPORT=4000; try { checkServer = new ServerSocket(TESTPORT); System.out.println(SimpleServer started.....); }catch(IOException e) { System.out.println(e); } * 5. 使用Java进行Socket编程 3.1
显示全部
相似文档