📄 quoteudpserver.java
字号:
package section20;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Date;
public class QuoteUDPServer {
private static BufferedReader in;
public static void main(String[] args) {
DatagramSocket socket=null;
DatagramPacket packet=null;
boolean moreQuotes=true;
System.out.println("QuoteUDPServer started...");
try{
socket=new DatagramSocket(1111);
in=new BufferedReader(new FileReader("one-liners.txt"));
}catch(FileNotFoundException e)
{
System.err.println("couldn't open file.");
}catch(IOException e)
{
System.err.println(e.getMessage());
}
while(moreQuotes)
{
try{
byte[]buf=new byte[256];
packet=new DatagramPacket(buf,buf.length);
socket.receive(packet);
String data=null;
if(in==null)
data=new Date().toString();
else
data=getNextQuote();
buf=data.getBytes();
InetAddress address=packet.getAddress();
System.out.println(address.getHostAddress());
int port=packet.getPort();
packet=new DatagramPacket(buf,data.length(),address,port);
socket.send(packet);
}catch(IOException e)
{
e.printStackTrace();
moreQuotes=false;
}
}
socket.close();
}
protected static String getNextQuote()
{
String returnValue=null;
try{
if((returnValue=in.readLine())==null)
{
in.close();
returnValue="No more quotes.Goodbye.";
}
}catch(IOException e)
{
returnValue="IOException occurred in server";
}
return returnValue;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -