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

📄 datagramsender.java

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

import java.io.*;
import java.net.*;
import java.nio.*;
import java.nio.channels.*;
import java.nio.charset.*;

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

    // Send a datagram
    private static void sendDatagram( String host, 
                                      int port ) throws IOException 
    {

        InetSocketAddress socketAddress = new InetSocketAddress( 
                                              InetAddress.getByName( host ),
                                              port );
        DatagramChannel channel = null; 
        channel = DatagramChannel.open();
        Charset charset = Charset.forName("ISO-8859-15");
        String[] messages = { "One", "Two", "Three", "Four", "Five" };

        try 
        {
            channel = DatagramChannel.open();
            channel.connect( socketAddress );

            for( int i=0; i<messages.length; i++ ) 
            {
                // create a message
                CharBuffer buffer = CharBuffer.allocate( 512 );
                CharsetEncoder encoder = charset.newEncoder();
                buffer.put( messages[i] );
                buffer.flip();
                ByteBuffer message = encoder.encode( buffer );
                channel.send( message, null );
            }
        }
        finally 
        {
            if( channel != null ) 
            {
                channel.close();
            }
        }
    }

    public static void main(String[] args) 
    {
        if( args.length == 0 ) 
        {
            System.err.println( "Syntax: java DatagramClient " + 
                                "[DatagramServer host] [port number to " +
                                "request a connection on.]" );
            System.exit( 1 );
        }

        // Get the host from the commandline.
        String host = args[0];
        int port = DEFAULT_PORT;

        // Check to see if a port number was supplied.
        if( args.length == 2 ) 
        {
            try 
            {
                port = Integer.parseInt( args[1] );
            }
            catch( NumberFormatException nfe ) 
            {
                System.err.println( "Syntax: java DatagramClient " + 
                                    "[Server host] [port number to " +
                                    "request a connection on.]" );
                System.exit( 1 );
            }
        }

        try 
        {
            DatagramSender.sendDatagram( host, port );
        }
        catch( Exception e ) 
        {
            System.err.println( "Error: " + e );
        }
    }
}

⌨️ 快捷键说明

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