疯狂java讲义第十七章补充习题第4题答案

4、把家里的主机改装成服务器。我搜了一些资料,感觉自己对服务器的了解太少了,根本看不懂什么内网穿透,看不懂什么SSH、Apach,还有什么内网外网,公网ip,局域网。。。。
我需要专门的学习服务器的相关知识,408的知识不够具体,不够专门。找到了两个博客,一个是实现内网穿透(让外网可以访问本机的某个端口号),一个是tomcat原理。都尝试一下。

用浏览器连接自制服务器的对应端口。如果说可以的话,其实浏览器就是使用socket连接服务器的socketserver,然后服务器接收网址,对网址解析,然后返回对应的html文件。这样是可以的,但是涉及到公网就不行了,我也不知道为什么。。。

使用浏览器的模式,开发一个世界聊天系统。也就是通过网址的参数输入聊天内容,写入对应的文件的下一行,然后返回这个文件,在浏览器显示。
如果写入后,再写入,则内容是叠加的,不会覆盖之前的网页.
有两个问题,一个是外网,就算是用了cpolar也不能访问这个服务器,但实际上是可以访问那个网址的,而且我的服务器也发出信息了,但是网页显示502错误,这个也是我没弄懂的,配置到服务器也一样,外网访问不了,可能tomcat还有其他很多我没学的东西,另一个是ServerSocket(x,x,inetaddress())这个构造器会报错,Net_Bind,没搜到解答

import java.net.*;
import java.io.*;
public class Tomcat
{
	public static void main(String[] args)
	{
		try{
			//读取index.html
			File file = new File("E:\\cpolar\\html\\index.html");



			ServerSocket server = new ServerSocket(6000,1 , InetAddress.getByName("8.130.49.194"));//这里报错了。。
			while(true)
			{
				Socket s = server.accept();	
				OutputStream output = s.getOutputStream();
				System.out.println("接收到了信号!");
				
				byte[] buffer = new byte[1024];
				FileInputStream fis = new FileInputStream(file);
				int ch = fis.read(buffer,0,1024);
				System.out.println(ch);

				while(ch != -1)
				{
					output.write(buffer,0,ch);
					ch = fis.read(buffer,0,1024);
				}
				fis.close();
				
				output.write("Hello World!".getBytes());
				System.out.println("发送了消息");
				output.close();
				s.close();
			}
	
		}catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}
<body>
无敌<br>
哈哈哈哈哈哈
<title>啦啦啦</title>
</body>
import java.net.*;
import java.io.*;
public class Client
{
	public static void main(String[] args)
	{
		try
		{
			Socket socket = new Socket("http://3a902c61.cpolar.io/",80);
			
			InputStream input = socket.getInputStream();
			OutputStream output = socket.getOutputStream();
			byte[] buffer = new byte[1024];
			input.read(buffer);
			System.out.println(new String(buffer));
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

细水长流cpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值