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

📄 page.java

📁 java ogg player library. for play back ogg audio
💻 JAVA
字号:
/* -*-mode:java; c-basic-offset:2; -*- *//* JRoar -- pure Java streaming server for Ogg  * * Copyright (C) 2001,2002 ymnk, JCraft,Inc. * * Written by: 2001,2002 ymnk<ymnk@jcraft.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */package com.jcraft.jroar;import java.util.*;import java.io.*;public abstract class Page{  static Hashtable map=new Hashtable();  static void register(){}  static void register(String src, Object dst){    synchronized(map){      map.put(src, dst);    }  }  static Object map(String foo){    synchronized(map){      return map.get(foo);    }  }  String decode(String arg){    byte[] foo=arg.getBytes();    StringBuffer sb=new StringBuffer();    for(int i=0; i<foo.length; i++){      if(foo[i]=='+'){ sb.append((char)' '); continue; }      if(foo[i]=='%' && i+2<foo.length){        int bar=foo[i+1];	bar=('0'<=bar && bar<='9')? bar-'0' : 	    ('a'<=bar && bar<='z')? bar-'a'+10 : 	    ('A'<=bar && bar<='Z')? bar-'A'+10 : bar;	bar*=16;	int goo=foo[i+2];	goo=('0'<=goo && goo<='9')? goo-'0' : 	    ('a'<=goo && goo<='f')? goo-'a'+10 : 	    ('A'<=goo && goo<='F')? goo-'A'+10 : goo;	bar+=goo; bar&=0xff;        sb.append((char)bar);        i+=2;        continue;      }      sb.append((char)foo[i]);    }    return sb.toString();  }  static void forward(MySocket mysocket, String location) throws IOException{    mysocket.println("HTTP/1.0 302 Found");    //mysocket.println("Location: "+HttpServer.myURL+location);    mysocket.println("Location: "+location);    mysocket.println("");    mysocket.flush();    mysocket.close();  }  static void unknown(MySocket mysocket, String location) throws IOException{    mysocket.println("HTTP/1.0 404 Not Found");    mysocket.println("Connection: close");    mysocket.println("Content-Type: text/html; charset=iso-8859-1");    mysocket.println("");    mysocket.println("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">");    mysocket.println("<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY>");    mysocket.println("<H1>Not Found</H1>");    mysocket.println("The requested URL "+location+" was not found on this server.<P>");    mysocket.println("<HR>");    mysocket.println("<ADDRESS>JRoar at "+HttpServer.myURL+"/</ADDRESS>");    mysocket.println("</BODY></HTML>");    mysocket.flush();    mysocket.close();  }  static void ok(MySocket mysocket, String location) throws IOException{    mysocket.println("HTTP/1.0 200 OK");    mysocket.println("Last-Modified: Thu, 04 Oct 2001 14:09:23 GMT");    mysocket.println("Connection: close");//    mysocket.println("Content-Type: text/html; charset=iso-8859-1");    mysocket.println("");    mysocket.flush();    mysocket.close();  }  abstract void kick(MySocket mysocket, Hashtable ht, Vector v) throws IOException;  Hashtable getVars(String arg){    Hashtable vars=new Hashtable();    vars.put("jroar-method", "GET");    if(arg==null) return vars;    arg=decode(arg);    int foo=0;    int i=0;    int c=0;    String key, value;    while(true){      key=value=null;       foo=arg.indexOf('=');      if(foo==-1)break;      key=arg.substring(0, foo);      arg=arg.substring(foo+1);      foo=arg.indexOf('&');      if(foo!=-1){	value=arg.substring(0, foo);        arg=arg.substring(foo+1);      }      else value=arg;      vars.put(key, value);      if(foo==-1)break;    }    return vars;  }  Hashtable getVars(MySocket mysocket, int len){    Hashtable vars=new Hashtable();    vars.put("jroar-method", "POST");    if(len==0) return vars;    int i=0;    int c=0;    StringBuffer sb=new StringBuffer();    String key, value;    while(i<len){      key=value=null;       sb.setLength(0);      while(i<len){        c=mysocket.readByte( ); i++;        if(c=='='){          key=sb.toString();          break;	}	sb.append((char)c);      }      sb.setLength(0);      while(i<len){        c=mysocket.readByte( ); i++;        if(c=='&'){          value=sb.toString();          break;	}	sb.append((char)c);      }      if(key!=null && value!=null){        key=decode(key); value=decode(value);        vars.put(key, value);      }    }    return vars;  }  static void notFound(MySocket ms) throws IOException{    ms.println("HTTP/1.0 404 Not Found") ;    ms.println("Content-Type: text/html") ;    ms.println("") ;    ms.println("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">");    ms.println("<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY>");    ms.println("<H1>Not Found</H1>The requested URL was not found on this server.<HR>");    ms.println("</BODY></HTML>");    ms.flush();    ms.close();  }}

⌨️ 快捷键说明

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