欢迎来到天天文库
浏览记录
ID:45326211
大小:185.00 KB
页数:26页
时间:2019-11-11
《java进程间通讯机制代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、java进程间通讯机制代码socketRMI远程调用共享内存管道进程间利用socket来通信客户端每隔500毫秒向服务器发送一个奇数,服务器将已收到的奇数乘以2再发回给客户。客户端程序importjava.io.*;importjava.net.*;publicclassclient{publicstaticvoidmain(String[]args){Strings=null;Socketmysocket;DataInputStreamin=null;DataOutputStreamout=null;try{mysocket=newSo
2、cket("127.0.0.1",4331);in=newDataInputStream(mysocket.getInputStream());///*mysocket可以使用getInputStream()方法获得一个输入流,然后用这个输入流读取服务器放入“线路”的信息,还可以使用getOutputStream()方法获得一个输出流,然后用这个输出流将信息写入“线路”*/out=newDataOutputStream(mysocket.getOutputStream());for(intk=1;k<10;k=k+2){out.wri
3、teUTF(""+k);s=in.readUTF();System.out.println("客户收到:"+s);Thread.sleep(500);}}catch(Exceptione){System.out.println("服务器已断开"+e);}}}服务器端程序importjava.io.*;importjava.net.*;publicclassserver{publicstaticvoidmain(String[]args){ServerSocketserver=null;Socketyou=null;St
4、rings=null;DataOutputStreamout=null;DataInputStreamin=null;try{server=newServerSocket(4331);}catch(IOExceptione){System.out.println(e);}//有备注try{System.out.println("等待客户呼叫");you=server.accept();out=newDataOutputStream(you.getOutputStream());in=newDataInputStream(you.g
5、etInputStream());while(true){s=in.readUTF();intm=Integer.parseInt(s);//out.writeUTF("你好:我是服务器");out.writeUTF("你说的数"+m+"乘2后是:"+2*m);System.out.println("服务器收到:"+s);Thread.sleep(500);}}catch(Exceptione){System.out.println("客户以断开"+e);}}}//有备注先运行服务器端程序,再运行客户端程序RM
6、I远程方法调用RMI(RemoteMethodInvocation)是一种基于Java的分布式编程模型,为java程序提供远程访问服务接口。它允许在一个java虚拟机上的对象调用在另一台java虚拟机上的对象的方法,就像调用本地方法一样。//创建远程接口及声明远程方法(HelloInterface.java)importjava.rmi.*;publicinterfaceHelloInterfaceextendsRemote{publicStringsay()throwsRemoteException;}/*远程接口必须扩展java.rm
7、i.remote*//*远程接口方法必须抛出*java.rmi.RemoteException*///实现远程接口及远程方法(继承UnicastRemoteObject)(Hello.java)importjava.rmi.*;importjava.rmi,server.*;publicclassHelloextendsUnicastRemoteObjectimplementsHelloInterface{privateStringmessage;publicHello(Stringmsg)throwsRemoteException{Me
8、ssage=msg;}/**远程接口方法的实现*/publicStringsay()throwsRemoteException{System.out.println("CalledbyHell
此文档下载收益归作者所有