socket传输对象

来源:互联网 发布:show91游戏代练网源码 编辑:程序博客网 时间:2024/05/22 06:57
import java.io.BufferedInputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutput;import java.io.ObjectOutputStream;import java.net.ServerSocket;import java.net.Socket;public class MyServer {public static void main(String[] args) throws IOException {ServerSocket server=new ServerSocket(10000);while(true){Socket socket=server.accept();invoke(socket);}}private static void invoke(final Socket socket) {new Thread(new Runnable() {@Overridepublic void run() {ObjectOutputStream os=null;ObjectInputStream is=null;try{is=new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));os=new ObjectOutputStream(socket.getOutputStream());Object obj=is.readObject();User user=(User)obj;user.setName("polly-new");user.setPassword("123-new");os.writeObject(user);os.flush();}catch(IOException ex){ex.printStackTrace();}catch (ClassNotFoundException e) {e.printStackTrace();}finally{try {is.close();os.close();socket.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}).start();}}
<pre name="code" class="java">import java.io.BufferedInputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.net.Socket;import java.net.UnknownHostException;public class MyClient {public static void main(String[] args) {for (int i = 0; i < 10; i++) {Socket socket=null;ObjectOutputStream os=null;ObjectInputStream is=null;try {socket=new Socket("localhost",9999);os=new ObjectOutputStream(socket.getOutputStream());User user=new User("user"+i,"pass"+i);os.writeObject(user);os.flush();is=new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));Object obj=is.readObject();if(obj !=null){user=(User)obj;System.out.println("user:"+user.getName()+"--"+user.getPassword());}}catch (ClassNotFoundException e) {e.printStackTrace();}catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{try {is.close();os.close();socket.close();} catch (IOException e) {e.printStackTrace();}}}}}


                                             
0 0