收藏 分销(赏)

socket局域网传递对象java.doc

上传人:仙人****88 文档编号:11398988 上传时间:2025-07-21 格式:DOC 页数:3 大小:15.46KB 下载积分:10 金币
下载 相关 举报
socket局域网传递对象java.doc_第1页
第1页 / 共3页
socket局域网传递对象java.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
Java Socket接收和发送(对象传递) 1.传递的对象 User.java package pb.socket.LoginStr; import java.io.Serializable; public class User implements Serializable{ private String loginName; private String psw; public User(){ } public User(String loginName,String psw){ this.loginName=loginName; this.psw=psw; } public String getLoginName() { return loginName; } public void setLoginName(String loginName) { this.loginName = loginName; } public String getPsw() { return psw; } public void setPsw(String psw) { this.psw = psw; } } 2.客户端 LoginClient.java package pb.socket.LoginStr; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.PrintWriter; import .Socket; import .UnknownHostException; public class LoginClient { public static void main(String[] args) { try { //1.建立客户端socket连接,指定服务器位置及端口 Socket socket =new Socket("localhost",8800); //2.得到socket读写流 OutputStream os=socket.getOutputStream(); //对象序列化流 ObjectOutputStream oos=new ObjectOutputStream(os); //输入流 InputStream is=socket.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); //3.利用流按照一定的操作,对socket进行读写操作 User user=new User(); user.setLoginName("zhangxun"); user.setPsw("123456"); oos.writeObject(user); socket.shutdownOutput(); //接收服务器的相应 String reply=null; while(!((reply=br.readLine())==null)){ System.out.println("接收服务器的信息:"+reply); } //4.关闭资源 br.close(); is.close(); oos.close(); os.close(); socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 3.服务器端 LoginServer.java package pb.socket.LoginStr; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.OutputStream; import java.io.PrintWriter; import .ServerSocket; import .Socket; public class LoginServer { public static void main(String[] args) { try { //1.建立一个服务器Socket(ServerSocket)绑定指定端口 ServerSocket serverSocket=new ServerSocket(8800); //2.使用accept()方法阻止等待监听,获得新连接 Socket socket=serverSocket.accept(); //3.获得输入流 InputStream is=socket.getInputStream(); //获得流:可以对对象进行反序列化 ObjectInputStream ois=new ObjectInputStream(is); //获得输出流 OutputStream os=socket.getOutputStream(); PrintWriter pw=new PrintWriter(os); //4.读取用户输入信息 User user = (User)ois.readObject(); System.out.println("用户信息 :"+user.getLoginName()+"---"+user.getPsw()); //给客户一个响应 String reply="welcome"; pw.write(reply); pw.flush(); //5.关闭资源 pw.close(); os.close(); ois.close(); is.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服