package cn.itcast.net.p2.ie_server;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class MyBrowser {

/**
  * @param args
  * @throws IOException
  * @throws UnknownHostException
  */
 public static void main(String[] args) throws UnknownHostException, IOException {

Socket s = new Socket("192.168.1.100",8080);
  
  //模拟浏览器,给tomcat服务端发送符合http协议的请求消息。
  PrintWriter out = new PrintWriter(s.getOutputStream(),true);
  out.println("GET /myweb/1.html HTTP/1.1");
  out.println("Accept: */*");
  out.println("Host: 192.168.1.100:8080");
  out.println("Connection: close");
  out.println();
  out.println();
  
  
  InputStream in = s.getInputStream();
  
  byte[] buf = new byte[1024];
  int len = in.read(buf);
  
  String str =new String(buf,0,len);
  System.out.println(str);
  
  s.close();
  
  //http://192.168.1.100:8080/myweb/1.html
 }

}

package cn.itcast.net.p2.ie_server;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class MyTomcat {

/**
  * @param args
  * @throws IOException
  */
 public static void main(String[] args) throws IOException {

ServerSocket ss = new ServerSocket(9090);
  
  Socket s = ss.accept();
  System.out.println(s.getInetAddress().getHostAddress()+".....connected");
  
  InputStream in = s.getInputStream();
  
  byte[] buf = new byte[1024];
  
  int len = in.read(buf);
  String text = new String(buf,0,len);
  System.out.println(text);
  
  
  //给客户端一个反馈信息。
  PrintWriter out = new PrintWriter(s.getOutputStream(),true);
  
  out.println("<font color='red' size='7'>欢迎光临</font>");
  
  s.close();
  ss.close();
 }

}

package cn.itcast.net.p2.ie_server;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class URLDemo {

/**
  * @param args
  * @throws IOException
  */
 public static void main(String[] args) throws IOException {

String str_url = "http://192.168.1.100:8080/myweb/1.html";
  
  URL url = new URL(str_url);
  
//  System.out.println("getProtocol:"+url.getProtocol());
//  System.out.println("getHost:"+url.getHost());
//  System.out.println("getPort:"+url.getPort());
//  System.out.println("getFile:"+url.getFile());
//  System.out.println("getPath:"+url.getPath());
//  System.out.println("getQuery:"+url.getQuery());
  
//  InputStream in = url.openStream();
  
  //获取url对象的Url连接器对象。将连接封装成了对象:java中内置的可以解析的具体协议的对象+socket.
  URLConnection conn = url.openConnection();
  
//  String value = conn.getHeaderField("Content-Type");
//  System.out.println(value);
  
//  System.out.println(conn);
  //sun.net.www.protocol.http.HttpURLConnection:http://192.168.1.100:8080/myweb/1.html
  
  InputStream in = conn.getInputStream();
  
  byte[] buf = new byte[1024];
  int len = in.read(buf);
  
  String text = new String(buf,0,len);
  
  System.out.println(text);
  
  in.close();
  
 }

}

package cn.itcast.net.p3.iegui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.InputStream;
import java.net.URL;

import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class MyBrowseGUI extends javax.swing.JFrame {
 private JTextField url_text;
 private JButton goto_but;
 private JScrollPane jScrollPane1;
 private JTextArea page_content;

/**
 * Auto-generated main method to display this JFrame
 */
 public static void main(String[] args) {
  SwingUtilities.invokeLater(new Runnable() {
   public void run() {
    MyBrowseGUI inst = new MyBrowseGUI();
    inst.setLocationRelativeTo(null);
    inst.setVisible(true);
   }
  });
 }
 
 public MyBrowseGUI() {
  super();
  initGUI();
 }
 
 private void initGUI() {
  try {
   setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
   getContentPane().setLayout(null);
   {
    url_text = new JTextField();
    getContentPane().add(url_text);
    url_text.setBounds(12, 36, 531, 44);
    url_text.addKeyListener(new KeyAdapter() {
     public void keyPressed(KeyEvent evt) {
      url_textKeyPressed(evt);
     }
    });
   }
   {
    goto_but = new JButton();
    getContentPane().add(goto_but);
    goto_but.setText("\u8f6c \u5230");
    goto_but.setBounds(555, 36, 134, 44);
    goto_but.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent evt) {
      goto_butActionPerformed(evt);
     }
    });
   }
   {
    jScrollPane1 = new JScrollPane();
    getContentPane().add(jScrollPane1);
    jScrollPane1.setBounds(12, 92, 676, 414);
    {
     page_content = new JTextArea();
     jScrollPane1.setViewportView(page_content);
    }
   }
   pack();
   this.setSize(708, 545);
  } catch (Exception e) {
      //add your error handling code here
   e.printStackTrace();
  }
 }
 
 private void goto_butActionPerformed(ActionEvent evt) {
  showPage();
 }
 
 private void url_textKeyPressed(KeyEvent evt) {
  if(evt.getKeyCode()==KeyEvent.VK_ENTER)
   showPage();
  
 }

private void showPage() {
  try {
   
   String url_str = url_text.getText();
   URL url = new URL(url_str);
   
   InputStream in = url.openConnection().getInputStream();//url.openStream();
   
   page_content.setText("");
   
   byte[] buf = new byte[1024];
   int len = in.read(buf);
   String text = new String(buf,0,len,"utf-8");
   
   page_content.setText(text);
   
   in.close();
   
   
  } catch (Exception e) {
   // TODO: handle exception
  }
 }

}

java Socket Tcp 浏览器和服务器(二)的更多相关文章

  1. java Socket Tcp 浏览器和服务器(一)

    自定义服务端,使用已有的客户端IE,了解一下客户端给服务端发了什么请求? 发送的请求是: GET / HTTP/1.1  请求行  请求方式  /myweb/1.html  请求的资源路径   htt ...

  2. JAVA Socket 编程学习笔记(二)

    在上一篇中,使用了 java Socket+Tcp/IP  协议来实现应用程序或客户端--服务器间的实时双向通信,本篇中,将使用 UDP 协议来实现 Socket 的通信. 1. 关于UDP UDP协 ...

  3. 【JAVA网络流之浏览器与服务器模拟】

    一.模拟服务器获取浏览器请求http信息 代码: package p06.TCPTransferImitateServer.p01.ImitateServer; import java.io.IOEx ...

  4. java socket tcp(服务器循环检测)

    刚才看了下以前写了的代码,tcp通信,发现太简单了,直接又摘抄了一个,运行 博客:http://blog.csdn.net/zhy_cheng/article/details/7819659 优点是服 ...

  5. java Socket Tcp示例三则(服务端处理数据、上传文件)

    示例一: package cn.itcast.net.p5.tcptest; import java.io.BufferedReader;import java.io.IOException;impo ...

  6. java Socket(TCP)编程小项目

    package 服务器端相关操作; import java.io.Serializable; /* * 创建存储需要传输信息的对象,方便客户端向服务器端传送数据 */ public class Cli ...

  7. Socket TCP客户端和服务器的实现

    import java.io.*; import java.net.Inet4Address; import java.net.InetSocketAddress; import java.net.S ...

  8. Java Socket TCP编程(Server端多线程处理)

    package com; import java.io.*; import java.net.Socket; /** * Socket Client * <p> * Created by ...

  9. Java Socket TCP编程

    package com; import java.io.*; import java.net.ServerSocket; import java.net.Socket; /** * Socket Se ...

随机推荐

  1. UI---------EventSystem

    创建uGUI控件后,Unity会同时创建一个叫EventSystem的GameObject,用于控制各类事件.可以看到Unity自带了两个Input Module,一个用于响应标准输入,一个用于响应触 ...

  2. 利用nginx加速web访问

    起因---------- 在最近新系统的设计中对于首页打开速度的问题做了一些考虑,由于页面上还是以动态数据为主,所以简单的静态化数据可能并不行,所以需要从业务和技术结合的角度去考虑这个问题.由于有些数 ...

  3. Python3.6学习笔记(三)

    面向对象编程 面向对象编程 Object Oriented Programming 简称 OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程 ...

  4. maven+jenkins+jmeter性能测试:maven把项目依赖拷贝到项目指定位置

    先上pom.xml配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:// ...

  5. @Logback简介

    Ceki Gülcü在Java日志领域世界知名.他创造了Log4J,这个最早的Java日志框架即便在JRE内置日志功能的竞争下仍然非常流行.随后他又着手实现SLF4J这个"简单的日志前端接口 ...

  6. mahout源码分析之DistributedLanczosSolver(五)Job over

    Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 1. Job 篇 接上篇,分析到EigenVerificationJob的run方法: public i ...

  7. JAVASCRIPT校验大全[转]

    var IsFireFox = document.getElementById &&! document.all;//判断是否为FireFox //页面里回车到下一控件的焦点 func ...

  8. IOS调试—断点调试以及动态输出

    在开发App的过程中,需要反复的修改和优化我们的代码,特别是当程序出现bug,需要快速的找出错误的原因,进行修改,以保证程序的正确执行. 断点调试,是最常用最简单的一种调试方式,可以一步步跟踪程序执行 ...

  9. 基于Java spring框架的微信企业号开发中关于js-sdk的配置

    在调用js-sdk的第一步,我们需要引入js-sdk的js链接,然后执行wx.config,官方示例如下所示: wx.config({ debug: true, // 开启调试模式,调用的所有api的 ...

  10. [Node.js] Level 3 new. Steam

    File Read Stream Lets use the fs module to read a file and log its contents to the console. Use the  ...