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