如何在局域网内实现聊天

2025-11-01 07:09:44

1、打开MyEclipse,创建一个JAVA PROJECT,填写项目名称(任意名称)

如何在局域网内实现聊天

如何在局域网内实现聊天

2、点FINISH完成创建,再选择项目名,右击新建class,只填Name空格,填个A.点finnish完成。

如何在局域网内实现聊天

3、完成后进入java代码界面,把下面代码复制到里面就行啦

import java.net.*;   

import java.io.*;   

class A

{   

 public static void main(String[] args) throws Exception   

 {   

   DatagramSocket sendSocket = new DatagramSocket(9998);  //发送端   

   DatagramSocket receSocket = new DatagramSocket(369);  //接收端   

   new Thread(new MsgSend(sendSocket)).start();           //发送线程   

   new Thread(new MsgRece(receSocket)).start();           //接受线程   

 }   

}   

 

class MsgSend implements Runnable     //发送   

{   

 private DatagramSocket dsock;   

 public MsgSend(DatagramSocket dsock)   

 {   

   this.dsock= dsock;   

 }   

 

 public void run()   

 {   

   BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));   

   String lineStr = null;   

   try  

   {           

     while(true)   

     {   

       lineStr = bufr.readLine();   

       if(lineStr!=null)   

       {   

         if(lineStr.equals("over886"))   

         {   

           break;   

         }   

         else  

         {   

           byte[] dataBuf = lineStr.getBytes();   

           DatagramPacket dataPack =   //数据打包   

           new DatagramPacket( dataBuf,   

                               dataBuf.length,   

                               InetAddress.getByName("192.168.1.255"), 

                               369 

                             );   

           dsock.send(dataPack);   

         }   

       }   

     }   

     bufr.close();   

     dsock.close();   

   }   

   catch(Exception e)   

   {   

     throw new RuntimeException("发送失败!");   

   }   

 }   

}   

 

class MsgRece implements Runnable    //接收   

{   

 private DatagramSocket dsock;   

 public MsgRece(DatagramSocket dsock)   

 {   

   this.dsock= dsock;   

 }   

 

 public void run()   

 {   

   try  

   {   

     while(true)   

     {   

         byte[] dataBuf = new byte[1024];   

         DatagramPacket dataPack = new DatagramPacket(dataBuf,dataBuf.length);   

         dsock.receive(dataPack);  //将获取的数据保存到指定的数据包   

         String ip = dataPack.getAddress().getHostAddress();   

         String data = new String(dataPack.getData(),0,dataPack.getLength());   //getData缓冲区

         int port = dataPack.getPort();   //返回端号

         System.out.println();    

         System.out.println("来自ip为 "+ip+" <对方端口>: "+port+" 的消息");   

         System.out.println(data);           

     }   

   }   

   catch(Exception e)   

   {   

     throw new RuntimeException("接受失败!");   

   }   

   finally  

   {   

     dsock.close();   

   }   

 }   

}  

4、现在运行看看,在下方的控制台输入文字,在同一局域网的小伙伴是不是收到消息了?(小伙伴也要和你做同样的步骤完成java代码制作)

如何在局域网内实现聊天

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢