📄 datagramsender.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 + -