第一章自己动手写服务器浏览器

本章主干知识点:

1、自己用Socket写Http浏览器;

2、自己用Socket写Http服务器;

3、实现登录和查询功能;


编写“控制台浏览器”

 

步骤:

1.Socket是进行网络编程的类,通过Socket可以在两台计算机之间进行网络通讯,QQ软件和QQ服务器之间、浏览器和网站服务器之间都是Socket网络通讯。Socket不是咱们学习的重点,能运行、理解即可。开发网站不会这样写,这里所有涉及Socket都是“原理性代码”。

 

2.向服务器发出指令:

 

3.GET/index.html HTTP/1.1

 

4.Host:127.0.0.1:8080

 

5.(回车)

 

然后从服务器获取返回。代码见备注。改一下获取其他页面、js、css,改一下域名获取别的网站内容。

 

MyHttpBrowser1.java

package javawebtest1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;

public class MyHttpBrowser1
{

	public static void main(String[] args)
	{
		try
		{
			Socket socket = new Socket("www.rupeng.com", 80);
			// 浏览器向服务器发送请求
//连接服务器。http协议默认的端口号是80。每个服务器软件监听一个端口(别的软件就不//能监听这个端口了),发送给这个端口的数据只会被这个服务器软件接收到。
			OutputStream os = socket.getOutputStream();
			OutputStreamWriter osw = new OutputStreamWriter(os);
			osw.append("GET /index.shtml HTTP/1.1\n");
			osw.append("HOST: www.rupeng.com:80\n");
			osw.append("\n");
			osw.flush();// 强制OutputStreamWriter把缓冲的数据写入OutputStream

			// 接收服务返回的请求
			InputStream inStream = socket.getInputStream();
			InputStreamReader inReader = new InputStreamReader(inStream);
			BufferedReader buffReader = new BufferedReader(inReader);
			String line;
			while ((line = buffReader.readLine()) != null)
			{
				System.out.println(line);
			}
			buffReader.close();
			inReader.close();
			inStream.close();
			osw.close();
			os.close();
			socket.close();
		} catch (IOException ioex)
		{
			ioex.printStackTrace();
		}
	}

}<strong>
</strong>

编写“网站服务器”


步骤:

1.首先使用ServerSocket启动监听:

 

2.ServerSocketsocket =new ServerSocket(8080);//如果报错&#

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值