datagramreceiver.java

来自「Client server application with datagram」· Java 代码 · 共 81 行

JAVA
81
字号
/*
 * Created on 20 nov. 2005
 * 
 */
package myDatagramSocketApplication;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

/**
 * 
 * Aplicatie care receptioneaza si afiseaza 
 * mesaje trimise sub forma de datagrame.
 * 
 * @author Calin-Gligor Loghin
 */

public class DatagramReceiver {

    //portul pe care se face schimbul de mesaje
    public int port = 1112;
    
    //socketul pentru citirea datagramelor
    private DatagramSocket socket;
    
    
    /**
     * Initializeaza datagram socketul.
     */
    public void initSocket(){
        
        try {
            socket = new DatagramSocket(port);
            System.out.println("Socket initializat. Astept mesaje ...");
        } catch (SocketException e) {
           
            System.out.println("Socketul nu poate fi creat !");
            e.printStackTrace();
        }
    }
    
    
    /**
     * Citeste un mesaj sub forma de datagrama.
     */
    public void citesteMesaj(){
        
        if(socket == null){
            System.out.println("Socketul nu este initializat !");
            return;
        }
        
        //initializeaza buferul de receptie
        byte buffer[] = new byte[256];
        
        //initializeaza datagram packet-ul
        DatagramPacket pachetReceptionat = new DatagramPacket(buffer, buffer.length);

        
        try {
            
            //citeste mesajul
            while (true) {
             
                //receptioneaza o parte din mesaj (dimensiunea buferului de trimitere-receptie)
                socket.receive(pachetReceptionat);

                //re-compune mesajul si il afiseaza
                String mesaj = new String(buffer, "US-ASCII");
                System.out.println("Mesaj receptionat: " + mesaj);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    } 
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?