⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datagramreceiver.java

📁 21天学通java的示例程序源代码
💻 JAVA
字号:
package com.wrox.datagram;

import java.net.*;
import java.util.*;
import java.io.*;

import java.nio.*;
import java.nio.charset.*;
import java.nio.channels.*;
import java.nio.channels.spi.*;

public class DatagramReceiver 
{
    // Define my favorite default port. Just look at a phone ;)
    private static final int DEFAULT_PORT = 7236;

    public static void main(String[] args) 
    {
        int port = DEFAULT_PORT;

        if( args.length > 0 ) 
        {
            try 
            {
                port = Integer.parseInt( args[0] );
            }
            catch( NumberFormatException nfe ) 
            {
                System.err.println( "Syntax: java DatagramServer [port " +
                                    " number to accept connections on.]" );
                System.exit( 1 );
            }
        }

        try 
        {
            DatagramChannel channel = DatagramChannel.open( port );
            System.out.println( "Listening for datagrams..." );
            while( true )
            {
                ByteBuffer buffer = ByteBuffer.allocate( 512 );
                SocketAddress sender = channel.receive( buffer );

                if( sender != null ) 
                {
                    buffer.flip();
                    System.out.println( "Message from: " + sender );

                    // decode a message
                    Charset charset = Charset.forName("ISO-8859-1");
                    CharsetDecoder decoder = charset.newDecoder();
                    CharBuffer message = decoder.decode( buffer );

                    System.out.println( "received: " + message );
                }
            }
        }
        catch( IOException ioe ) 
        {
            System.err.println( "Error: " + ioe );
        }
    }
} 

⌨️ 快捷键说明

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