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

📄 quoteserverthread.java

📁 java的书上例子
💻 JAVA
字号:
//例16_10 QuoteServerThread.java

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

public class QuoteServerThread extends Thread{

protected DatagramSocket socket=null;
protected BufferedReader in=null;
protected boolean moreQuotes=true;

public QuoteServerThread() throws IOException{
  this ("QuoteServerThread");
}

public QuoteServerThread(String name) throws IOException{
super (name);
socket=new DatagramSocket (4445);

try{
in=new BufferedReader (new FileReader("one-liners.txt"));
}catch (FileNotFoundException e){
  System.err.println ("Could not open quote file. Serving time instead.");
}
}

public void run() {
while (moreQuotes){
try{
byte[]buf=new byte[256];

//receive request
DatagramPacket packet=new DatagramPacket(buf, buf.length);
socket.receive (packet);

//figure out response
String dString = null;
if (in == null)dString=new Date().toString();
else
dString=getNextQuote();
buf=dString.getBytes();

//send the response to the client at "address" and "port"
InetAddress address=packet.getAddress();
int port =packet.getPort();
packet =new DatagramPacket(buf,buf.length,address,port);
socket.send(packet);
}catch (IOException e){
 e.printStackTrace ();
moreQuotes= false;
   }
}
  socket.close();
}

public String getNextQuote() {
  String Value =null;
 try{
  if((Value = in.readLine()) ==null) {
 in.close();
moreQuotes =false;
Value="No more quotes.Goodbye.";
  }
}catch (IOException e) {
  Value ="IOException occurred in server.";
}
  return Value;
  }
}

⌨️ 快捷键说明

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