我想知道自己是否可以使用一个简单的套接字来托管“网络服务器”,该套接字通过PrintWriter打印出网站。
我已经尝试了这个并且在一个分秒后我可以看到我的html代码显示但在此之后连接中止。
请不要憎恨我有很多小网络服务器解决方案,我知道,但我正在努力提高并提高我的编程技能。我感谢每一条更好的编码建议。
这是我的 Java 代码:
public class webserver {
ServerSocket serversocket=null;
Socket s=null;
OutputStream o=null;
public webserver(){
try {
serversocket=new ServerSocket(8080);
writeout();
} catch (IOException e) {
e.printStackTrace();
}
}
private void writeout(){
try {
char[] cbuf=new char[100000];
s=serversocket.accept();
o=s.getOutputStream();
PrintWriter pw=new PrintWriter(o);
FileReader fr=new FileReader("C:/Users/me/Documents/HelloWorld.html");
BufferedReader br=new BufferedReader(fr);
br.read(cbuf);
br.close();
pw.write(cbuf);
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
这是 Google Web Designer 构建的 Html 文件:
<!DOCTYPE html>
<html>
<head data-gwd-animation-mode="quickMode">
<title>HelloWorld</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="Google Web Designer 1.0.3.0115">
<style type="text/css">
html, body {
width: 100%;
height: 100%;
margin: 0px;
}
body {
background-color: transparent;
-webkit-transform: perspective(1400px) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
-webkit-transform-style: preserve-3d;
}
.gwd-div-c9x0 {
position: absolute;
width: 356px;
height: 214px;
left: 446px;
top: 54px;
font-family:'Times New Roman';
text-align: left;
color: rgb(0, 0, 0);
}
.gwd-div-qte5 {
position: absolute;
width: 73px;
height: 59px;
left: 781px;
top: 54px;
}
.gwd-div-wq83 {
position: absolute;
width: 32px;
height: 29.5px;
left: 802px;
top: 54px;
}
</style>
</head>
<body>
<div class="gwd-div-c9x0">Testing the Printed Website</div>
<div class="gwd-div-qte5"></div>
<div class="gwd-div-wq83"></div>
</body>
</html>
但我的“网络服务器”终止,没有例外。