第四次过程性考核

码云地址:https://gitee.com/qi0803/codes/rnzmfjqk0sbtc7eu6iw3g98

使用套接写连接编写一个简单的聊天室程序,客户端主函数放在Client_Main.java文件中,服务器端主函数放在Server_Main.java文件中

客户端:

import java.net.*;
import java.util.*;
public class Client_Main{
     public static void main (String args[]){
         Scanner scanner=new Scanner(System.in);
         Thread readData;
         ReceiveLetterForZhang receiver=new ReceiveLetterForZhang();
         try{
             readData=new Thread(receiver);
             readData.start();
             byte [] buffer=new byte[1];
             InetAddress address=InetAddress.getByName("127.0.0.1");
             DatagramPacket dataPack=new DatagramPacket(buffer,buffer.length,address,666);
             DatagramSocket postman=new DatagramSocket();
             System.out.print("输入发送信息:");
             while(scanner.hasNext()){
             String mess=scanner.nextLine();
             buffer=mess.getBytes();
             if(mess.length()==0)
                 System.exit(0);
             buffer=mess.getBytes();
             dataPack.setData(buffer);
             postman.send(dataPack);
             System.out.print("继续输入发送信息:");
             }
         }
         catch(Exception e){
             System.out.println(e);
         }
     }
}

import java.net.*;
public class ReceiveLetterForZhang implements Runnable{
    public void run(){
        DatagramPacket pack=null;
        DatagramSocket postman=null;
        byte data[]=new byte[8192];
        try{
            pack=new DatagramPacket(data,data.length);
            postman=new DatagramSocket(888);
        }
        catch(Exception e){}
        while(true){
            if(postman==null) break;
            else
                try{
                    postman.receive(pack);
                    String message=new String(pack.getData(),0,pack.getLength());
                    System.out.println("收到:"+message);
                }
                catch(Exception e){}
            }
        }
    }

服务器端:

import java.net.*;
import java.util.*;
public class Server_Main{
   public static void main (String args[]){
      Scanner scanner=new Scanner(System.in);
      Thread readData;
      ReceiveLetterForLi receiver=new ReceiveLetterForLi();
      try{
         readData=new Thread(receiver);
         readData.start();
         byte [] buffer=new byte[1];
         InetAddress address=InetAddress.getByName("127.0.0.1");
         DatagramPacket dataPack=new DatagramPacket(buffer,buffer.length,address,888);
         DatagramSocket postman=new DatagramSocket();
         System.out.print("输入发送信息:");
         while(scanner.hasNext()){
         String mess=scanner.nextLine();
         buffer=mess.getBytes();
         if(mess.length()==0)
            System.exit(0);
         buffer=mess.getBytes();
         dataPack.setData(buffer);
         postman.send(dataPack);
         System.out.print("继续输入发送信息:");
         }
      }
      catch(Exception e){
         System.out.println(e);
      }
   }
}

 

 

import java.net.*;
public class ReceiveLetterForLi implements Runnable{
    public void run(){
        DatagramPacket pack=null;
        DatagramSocket postman=null;
        byte data[]=new byte[8192];
        try{
            pack=new DatagramPacket(data,data.length);
            postman=new DatagramSocket(666);
        }
        catch(Exception e){}
        while(true){
            if(postman==null) break;
            else
                try{
                    postman.receive(pack);
                    String message=new String(pack.getData(),0,pack.getLength());
                    System.out.println("收到:"+message);
                }
                catch(Exception e){}
            }
        }
    }

总结:由于自己没有好好学习,思路不是很清晰。感谢郑蕊老师这一段时间内,不辞辛苦的教导,我课后一定要好好反思,勤加练习。

 

posted @ 2018-12-13 10:48  齐鸿飞  阅读(169)  评论(0)    收藏  举报