Socket简单通信

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();
  }
 }

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值