package org.demo;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import javax.xml.ws.handler.MessageContext.Scope;
import org.entity.Student;
//服务器
public class Server {
private ServerSocket serverSocket=null;
private Socket client=null;
//初始化连接
public Server() throws IOException{
serverSocket=new ServerSocket(8888);
client=serverSocket.accept();
System.out.println("客服端IP:"+client.getInetAddress());
}
//接受传输过来的
public Student accept() throws IOException, ClassNotFoundException{
InputStream in=client.getInputStream();
ObjectInputStream reader=new ObjectInputStream(in);
Student stu=(Student)reader.readObject();//接受到客服端的网络通信
//reader.close();
return stu;
}
//向客服端发送通信
public void send(Student stu) throws IOException{
OutputStream out=client.getOutputStream();
ObjectOutputStream write=new ObjectOutputStream(out);
write.writeObject(stu);
write.flush();
write.close();
client.close();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Server server=new Server();
Student stu=server.accept();
System.out.println("客服端的信息:--ID:"+stu.getSid()+"\tName:"+stu.getName()+"\tAddress:"+stu.getAddress());
//向客服端发送网络通信
Student s=new Student(2, "jacky", 22, "成都名流");
server.send(s);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
package org.demo;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import org.entity.Student;
//客服端
public class Client {
private Socket client=null;
//初始化客服端的网络通信
public Client() throws UnknownHostException, IOException{
client=new Socket("127.0.0.1",8888);
}
//传输学生对象
public void send(Student stu) throws IOException, ClassNotFoundException{
OutputStream out=client.getOutputStream();
ObjectOutputStream write=new ObjectOutputStream(out);
write.writeObject(stu); //传输到服务器上
//write.flush();
}
//接受服务器传送的网络通信
public Student accept() throws IOException, ClassNotFoundException{
//等待服务器的响应
ObjectInputStream ois = new ObjectInputStream(client.getInputStream());
Student st = (Student)ois.readObject();
System.out.println("来自服务器的消息:"+st.getName());
ois.close();//关闭输入流
client.close();//关闭Socket
return st;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
//传输到服务器
Client client=new Client();
Student student=new Student(1,"何舟",21,"猛追湾");
client.send(student);
//接受服务器传输的信息
Student stu=client.accept();
System.out.println("服务器传送的网络通信:--ID:"+stu.getSid()+"\tNAME:"+stu.getName()+"\tADDRESS:"+stu.getAddress());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}