Socket发送信息

本文介绍了一个基于Java实现的简单客户端与服务端的消息传递系统。客户端通过Socket连接到服务端并发送Message对象,而服务端接收这些对象并进行处理。文章详细展示了客户端如何从属性文件中读取配置信息来建立连接,并发送对象;同时,服务端部分则展示了如何无限循环监听客户端的消息。
摘要由CSDN通过智能技术生成

客户端:

 public static int sendMessage(Mesage msg){
  if ("".equals(ip)){
   Properties properties = new Properties();
   try {
    properties.load(****.class.getResourceAsStream("*****.properties"));
    ip   =  properties.getProperty("SMS.IP");
    port =  Integer.parseInt(properties.getProperty("SMS.PORT"));
   } catch (IOException e) {
    e.printStackTrace();
   }//加载Properties文件流
  }
  
  int i = 0;
  try {
   Socket smsSocket = new Socket(ip,port);
   ObjectOutputStream smsObjStream = new ObjectOutputStream(smsSocket.getOutputStream());
    smsObjStream.writeObject(smsBean);
    smsObjStream.flush();
    smsObjStream.close();
       smsSocket.close();
  } catch (UnknownHostException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   i =0;
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   i =0;
   
  }
  return i ;
 
 }

服务端:

 public void runServer(int port) {
  // TODO Auto-generated method stub
  ServerSocket messageServerSocket = null;
  try {
   messageServerSocket = new ServerSocket(port);
   
   while(true){
    try {
          ObjectInputStream smsObjStream = null;
            messagebean= null;
  int i = 1;
  try {
   msgObjStream = new ObjectInputStream(this.socket.getInputStream());
   messagebean= (messageBean) msgObjStream .readObject();
    }catch (Exception e) {
        e.printStackTrace();
        continue;
    }
        
   }
   
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (Exception e) {
   
      e.printStackTrace(); 
  }
  
  try {
   smsServerSocket.close();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }


 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值