<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    march alex's blog
    hello,I am march alex
    posts - 52,comments - 7,trackbacks - 0
    Client端:

    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.net.InetAddress;
    import java.net.Socket;
    import java.net.UnknownHostException;
    import java.util.Scanner;

    public class ChatClient {
        
    private static final String SERVER_IP = "127.0.0.1";
        
    private static final int SERVER_PORT = 8888;
        
        Socket socket 
    = null;
        DataOutputStream dos 
    = null;
        DataInputStream dis 
    = null;
        
    private boolean bConnected = false;

        
    private static Scanner in = new Scanner(System.in);
        
    private static String hostInfo = null;

        Thread tRecv 
    = new Thread(new RecvThread());

        
    public static void main(String[] args) {
            
    new ChatClient().launch();
        }

        
    public void launch() {
            connect();
            tRecv.start();
        }

        
    public void connect() {
            
    try {
                socket 
    = new Socket(SERVER_IP, SERVER_PORT);
                dos 
    = new DataOutputStream(socket.getOutputStream());
                dis 
    = new DataInputStream(socket.getInputStream());
                bConnected 
    = true;

                InetAddress addr 
    = InetAddress.getLocalHost();
                String ip 
    = addr.getHostAddress().toString();// 獲得本機IP
                String address = addr.getHostName().toString();// 獲得本機名稱
                hostInfo = ip + "\t" + address + "\tconnected.";
                System.out.println(hostInfo);
                dos.writeUTF(hostInfo);
                dos.flush();
            } 
    catch (UnknownHostException e) {
                e.printStackTrace();
            } 
    catch (IOException e) {
                e.printStackTrace();
            }
        }

        
    public void disconnect() throws IOException {
            
    try {
                dos.close();
                dis.close();
                socket.close();
            } 
    catch (IOException e) {
            }
        }

        
    private class RecvThread implements Runnable {
            
    public void run() {
                
    while (bConnected) {
                    
    try {
                        
    if (in.hasNext()) {
                            String talk 
    = in.nextLine();
                            
    if (talk.equals("quit")) {
                                disconnect();
                                bConnected 
    = false;
                                
    break;
                            }
                            dos.writeUTF(talk);
                            dos.flush();
                        }
                        String talk 
    = dis.readUTF();
                        System.out.println(talk);
                    } 
    catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    server端:
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.EOFException;
    import java.io.IOException;
    import java.net.BindException;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.util.ArrayList;
    import java.util.List;

    public class ChatServer {
        
    boolean started = false;
        ServerSocket ss 
    = null;
        
        List
    <Client> clients = new ArrayList<Client>();
        
        
    public static void main(String[] args) {
            
    new ChatServer().start();
        }
        
        
    public void start() {
            
    try {
                ss 
    = new ServerSocket(8888);
                started 
    = true;
            } 
    catch (BindException e) {
                System.err.println(
    "port in use.please stop program using this port and restart.");
                System.exit(
    0);
            } 
    catch (IOException e) {
                e.printStackTrace();
            }
            
            
    try {
                
    while(started) {
                    Socket s 
    = ss.accept();
                    Client c 
    = new Client(s);
                    
    // System.out.println("a client connected.");
                    new Thread(c).start();
                    clients.add(c);
                }
            } 
    catch (IOException e) {
                e.printStackTrace();
            } 
    finally {
                
    try {
                    ss.close();
                } 
    catch (IOException e) {
                    e.printStackTrace();
                }
            }
            
        }
        
        
    class Client implements Runnable {
            
    private Socket s;
            
    private DataInputStream dis = null;
            
    private DataOutputStream dos = null;
            
    private boolean bConnected = false;
            
            
    public Client(Socket s) {
                
    this.s = s;
                
    try {
                    dis 
    = new DataInputStream(s.getInputStream());
                    dos 
    = new DataOutputStream(s.getOutputStream());
                    bConnected 
    = true;
                } 
    catch (IOException e) {
                    e.printStackTrace();
                }
            }
            
            
    public void send(String str) {
                
    try {
                    dos.writeUTF(str);
                    dos.flush();
                } 
    catch (IOException e) {
                    clients.remove(
    this);
                    System.out.println(
    "a client quit.");
                    
    //e.printStackTrace();
                }
            }
            
            
    public void run() {
                
    try {
                    
    while(bConnected) {
                        String str 
    = dis.readUTF();
                        solveTalk(str);
                    }    
                } 
    catch (EOFException e) {
                    System.out.println(
    "Client closed!");
                } 
    catch (IOException e) {
                    e.printStackTrace();
                } 
    finally {
                    
    try {
                        
    if(dis != null) dis.close();
                        
    if(dos != null) dos.close();
                        
    if(s != null) {
                            s.close();
                            s 
    = null;
                        }
                    } 
    catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
            }
            
            
    private void solveTalk(String talk) {
                System.out.println(talk);
                
    for(int i=0;i<clients.size();i++) {
                    Client c 
    = clients.get(i);
                    c.send(talk);
                }
            }
        }
        
    }
    posted @ 2015-08-18 10:03 marchalex 閱讀(364) | 評論 (0)編輯 收藏

    import java.io.BufferedInputStream; 
    import java.io.BufferedReader; 
    import java.io.IOException; 
    import java.io.InputStreamReader; 
    import java.util.regex.Matcher; 
    import java.util.regex.Pattern; 
     
    public class RegexTestHarnessV4 { 
     
        
    public static void main(String[] args) throws IOException { 
            BufferedReader br 
    = new BufferedReader( 
                    
    new InputStreamReader(new BufferedInputStream(System.in)) 
                ); 
            
    while (true) { 
                System.out.print(
    "\nEnter your regex: "); 
                Pattern pattern 
    = Pattern.compile(br.readLine()); 
                System.out.print(
    "Enter input string to search: "); 
                Matcher matcher 
    = pattern.matcher(br.readLine()); 
                
    boolean found = false
                
    while (matcher.find()) { 
                    System.out.println(
    "I found the text \"" + matcher.group() + 
                            "\" starting at index " + matcher.start() + 
                            " and ending at index " + matcher.end() + 
                            
    "."); 
                    found 
    = true
                } 
                
    if (!found) { 
                    System.out.println(
    "No match found."); 
                } 
            } 
        } 
    }


    樣例:

    Enter your regex: [0-9]+
    Enter input string to search: fdsdffd9090fd
    I found the text "9090" starting at index 7 and ending at index 11.

    Enter your regex: class="fav-num[^"]*"[^>]*>[^<]*
    Enter input string to search: <i class="litb-icon-fav-on"></i><i class="litb-icon-fav-off"></i><span class="fav-num">(151)</span>
    I found the text "class="fav-num">(151)" starting at index 71 and ending at index 92.

    資料:
    http://blog.csdn.net/yaerfeng/article/details/28855587
    posted @ 2015-08-12 13:58 marchalex 閱讀(317) | 評論 (0)編輯 收藏
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;

    public class GoogleFinderNew {
        
        
    private static String address = "https://www.google.com.hk/search?hl=en&q=";
        
    private static String query = "";
        
    private static String charset = "UTF-8";
        
        
    private static List<String> useragentList = new ArrayList<String>();
        
        
    private static void initUserAgentList(String filename) throws IOException {
            BufferedReader reader 
    = new BufferedReader(new FileReader(filename));  
            String line 
    = null;
            
    while((line = reader.readLine()) != null){
                useragentList.add(line.trim());
            }
            reader.close();
            
    return;
        }
        
        
    private static List<String> getpages(URL url) throws IOException {
            HttpURLConnection urlConnection 
    = (HttpURLConnection) url.openConnection();
            BufferedReader reader 
    = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
            String line;
            String ans 
    = "";
            
    while ((line = reader.readLine()) != null){
                 ans 
    += line + "\n";
            }
            
    int st = -1, ed = 0;
            List
    <String> pagesList = new ArrayList<String>();
            
            
    while((st = ans.indexOf("<h3 class=\"r\"><a href=\"", ed)) != -1) {
                ed = ans.indexOf("\"", st+23);
                //System.out.println(ans.substring(st+23, ed));
                pagesList.add(ans.substring(st+23, ed));
            }
            
    return pagesList;
        }
        
        
    public static void main(String[] args) throws MalformedURLException, IOException, InterruptedException {
            
            Scanner in 
    = new Scanner(System.in);
            String askurl 
    = in.nextLine();
            query 
    = in.nextLine();
            
            initUserAgentList(
    "D:\\useragent.txt");
            
            
    //System.setProperty("http.agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.3.154.9 Safari/525.19");
            
            
    int pages = 10;
            
            
    for(int i=0;i<pages;i++) {
                System.out.println((i
    +1+ " ..");
                
                
    int index = (int)(useragentList.size()*Math.random());
                
    if(index == useragentList.size()) index --;
                String theUserAgent 
    = useragentList.get(index);
                
                System.setProperty(
    "http.agent", theUserAgent);
                
                String urlString 
    = address + URLEncoder.encode(query, charset);
                
    if(i != 0) urlString += "&start=" + i + "0";
                
    //System.out.println(urlString);
                List<String> list = getpages(new URL(urlString));
                
    for(String page : list) {
                    
    if(page.contains(askurl)) {
    //                if(page.equals(askurl)) {
                        System.out.println(askurl + " found in the " + (i+1+ " th page.");
                        System.out.println(page);
                        
    return;
                    }
                }
                
    int extraTime = 0//(int)(3000 * Math.random());
                Thread.sleep(1000 + extraTime);
            }
            
            System.out.println(
    "can't find " + askurl + " in the first " + pages + " pages.");
        }
    }
    posted @ 2015-07-29 16:41 marchalex 閱讀(267) | 評論 (0)編輯 收藏
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.util.List;
    import java.util.Scanner;
    import java.util.StringTokenizer;

    import com.google.gson.Gson;



    public class GoogleFinder {
        
        
    public static void main(String[] args) throws IOException, InterruptedException {
            
            String address 
    = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
            String query 
    = "";
            String charset 
    = "UTF-8";
            
            Scanner in 
    = new Scanner(System.in);
            String targeturl 
    = in.nextLine();
            query 
    = in.nextLine();
            
            
    for(int i=0;i<125;i++) {
                
                URL url 
    = new URL(address + URLEncoder.encode(query, charset) + "&start=" + i);
                
                
    //System.out.println(url);
                Reader reader = new InputStreamReader(url.openStream(), charset);
                GoogleResults results 
    = new Gson().fromJson(reader, GoogleResults.class);
                
                
    for(int t=0;t<30;t++) {
                    System.out.print(
    ".");
                    Thread.sleep(
    2000);
                } System.out.println(
    "");
                
                
    for(int j=0;j<4;j++) {

                    String ss 
    = results.getResponseData().getResults().get(j).getUrl().toLowerCase();
                    
    if(ss.contains(targeturl)) {
                        System.out.println(ss);
                        System.out.println(results.getResponseData().getResults().get(j).getTitle());
                        System.out.println(
    "Found in the " + (i*4+j+1+ " th");
                        
    return;
                    }
                }
                System.out.println(
    "" + ((i+1)*4+ " pages found.");
            }
            
            System.out.println(
    "Can find " + targeturl + " in the first 500 pages");
            
        }
    }


    class GoogleResults {

        
    private ResponseData responseData;

        
    public ResponseData getResponseData() {
            
    return responseData;
        }

        
    public void setResponseData(ResponseData responseData) {
            
    this.responseData = responseData;
        }

        
    public String toString() {
            
    return "ResponseData[" + responseData + "]";
        }

        
    static class ResponseData {
            
    private List<Result> results;

            
    public List<Result> getResults() {
                
    return results;
            }

            
    public void setResults(List<Result> results) {
                
    this.results = results;
            }

            
    public String toString() {
                
    return "Results[" + results + "]";
            }
        }

        
    static class Result {
            
    private String url;
            
    private String title;

            
    public String getUrl() {
                
    return url;
            }

            
    public String getTitle() {
                
    return title;
            }

            
    public void setUrl(String url) {
                
    this.url = url;
            }

            
    public void setTitle(String title) {
                
    this.title = title;
            }

            
    public String toString() {
                
    return "Result[url:" + url + ",title:" + title + "]";
            }
        }
    }

    posted @ 2015-07-29 14:16 marchalex 閱讀(285) | 評論 (0)編輯 收藏
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;

    public class GoogleFinderNew {
        
        
    private static String address = "https://www.google.com.hk/search?hl=en&q=";
        
    private static String query = "";
        
    private static String charset = "UTF-8";
        
        
    private static void test() {
            String ans 
    = "abc<h3>helloworld</h3>hehe<h3>nicetomeetyou</h3>";
            
    int st = ans.indexOf("<h3>");
            
    int ed = ans.indexOf("</h3>");
            System.out.println(st 
    + "   " + ed);
            System.out.println(ans.substring(st
    +4, ed));
        }
        
        
    private static List<String> getpages(URL url) throws IOException {
            HttpURLConnection urlConnection 
    = (HttpURLConnection) url.openConnection();
            BufferedReader reader 
    = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
            String line;
            String ans 
    = "";
            
    while ((line = reader.readLine()) != null){
                 ans 
    += line + "\n";
            }
            
    int st = -1, ed = 0;
            List
    <String> pagesList = new ArrayList<String>();
            
            
    while((st = ans.indexOf("<h3 class=\"r\"><a href=\"", ed)) != -1) {
                ed = ans.indexOf("\"", st+23);
                //System.out.println(ans.substring(st+23, ed));
                pagesList.add(ans.substring(st+23, ed));
            }
            
    return pagesList;
        }
        
        
    public static void main(String[] args) throws MalformedURLException, IOException, InterruptedException {
            
            Scanner in 
    = new Scanner(System.in);
            String askurl 
    = in.nextLine();
            query 
    = in.nextLine();
            
            System.setProperty(
    "http.agent""Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11");
            
            
    int pages = 100;
            
            
    for(int i=0;i<pages;i++) {
                System.out.println((i
    +1+ " ..");
                String urlString 
    = address + URLEncoder.encode(query, charset);
                
    if(i != 0) urlString += "&start=" + i + "0";
                
    //System.out.println(urlString);
                List<String> list = getpages(new URL(urlString));
                
    for(String page : list) {
                    
    if(page.contains(askurl)) {
    //                if(page.equals(askurl)) {
                        System.out.println(askurl + " found in the " + (i+1+ " th page.");
                        System.out.println(page);
                        
    return;
                    }
                }
                Thread.sleep(
    1000);
            }
            
            System.out.println(
    "can't find " + askurl + " in the first " + pages + " pages.");
        }
    }
    posted @ 2015-07-29 14:16 marchalex 閱讀(307) | 評論 (0)編輯 收藏
    主站蜘蛛池模板: 亚洲AV无码AV男人的天堂| 久久亚洲国产成人精品性色| 三年片免费观看大全国语| 亚洲美女人黄网成人女| 成人免费a级毛片无码网站入口| 美女扒开尿口给男人爽免费视频| 亚洲色精品aⅴ一区区三区 | 免费国产成人高清在线观看网站| 亚洲男人的天堂网站| 亚洲熟妇无码乱子AV电影| aa级一级天堂片免费观看| 污网站免费在线观看| 亚洲酒色1314狠狠做| 免费看国产一级片| 久久午夜免费鲁丝片| 亚洲乱码日产精品一二三| 亚洲成在人线av| 免费理论片51人人看电影| 日韩视频免费在线观看| 老子影院午夜伦不卡亚洲| 亚洲图片一区二区| 亚洲成a人片在线观看国产| 国内精自视频品线六区免费| 有色视频在线观看免费高清在线直播| 亚洲成人福利在线观看| 久久久久国产亚洲AV麻豆| 97人伦色伦成人免费视频| 大地资源中文在线观看免费版| WWW亚洲色大成网络.COM| 97se亚洲综合在线| 国产亚洲精品看片在线观看| 色www永久免费视频| 亚洲免费在线视频播放| 好男人资源在线WWW免费| 亚洲欧美日韩综合久久久久| 亚洲第一精品电影网| 亚洲精品无码久久久影院相关影片| 国产精品免费看久久久久| 97免费人妻无码视频| 无码av免费一区二区三区试看| 五月天婷婷精品免费视频|