- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈尔滨工业大学计算机系代亚非 Java语言程序设计 主要内容 1、网络编程基础 2、基于TCP网络程序设计 3、基于UDP网络程序设计 4、* 基于C/S模式的分布计算 一、 Java与网络 IP协议、 TCP协议和UDP协议。 传输层数据报文结构:TCP 传输层数据报结构:UDP报文 2、端口号 端口号:TCP/IP协议为每种服务定义了一个端口。 3、 套接字Socket Socket是网络程序中最常用的方式,用于建立两个不同程序之间通过网络进行通信的信道。 2、 套接字Socket 什么是socket ? 进程与进程之间建立起连接 建立套接字Socket 在客户端使用socket类,指定服务器IP和端口号,以便连到服务器上: Socket(host_IP, prot); 在服务器端使用ServerSocket类,以等待客户端的连接: ServerSocket(port); Socket主要方法: 在客户端:建立socket连接后,还应该建立输入输出数据流。 getInputStream( ) 获得输入流 getOutputStream( ) 获得输出流 在服务器端: ServerSocket类的accept( )方法使服务器处于阻塞状态,等待用户请求。 二、TCP协议 Socket编程 例1:演示服务器与客户之间的交互,服务器等待,客户访问,相互通一次信息。 客户端向服务器发出信息:“你好”,服务器接收到信息后,给出回应:“你好,我是服务器。” 21.5 Socket 客户机端 import java.io.*; import .*; class C { public static void main(String[] args) { try{ Socket socket=new Socket(,6565); DataOutputStream out=new DataOutputStream(socket.getOutputStream()); out.writeUTF(我是客户机); DataInputStream in=new DataInputStream(socket.getInputStream()); String s=in.readUTF(); System.out.println(客户机收到:+s); }catch(Exception e){} } } 服务器端 import java.io.*; import .*; class S { public static void main(String[] args) { try{ ServerSocket s_socket=new ServerSocket(6565); Socket socket=s_socket.accept(); DataInputStream in=new DataInputStream(socket.getInputStream()); String s=in.readUTF(); System.out.println(服务器收到:+s); DataOutputStream out=new DataOutputStream(socket.getOutputStream()); out.writeUTF(我是服务器); }catch(Exception e){} } } 21.5 Socket 显示服务器与客户机间的通信(服务器端) 考虑多用户 第一种解决方案: 一台计算机上一次启动多个服务器程序,只是端口号不同。 myserver --------myclient----f21.bat myserver2--------myclient2----f9.bat 多用户的第二种方案 (支持多客户) 服务器端 . 服务器端 在Java中,网络类都在 类库中。 用来存储internet地址的类InetAddress. 其主要方法: getHostName( ) 获取InetAddress对象的主机名或域名 getHostAddress( ) 获取InetAddress对象的IP地址 getLocalHost( )获取本机的IP地址 例:获取本机的IP地址 import .*; public class getLocalHostTest { public static void main(String args[]) { InetAddress myIP=null;
文档评论(0)