Javaweb印象
个人对于Javaweb开发的理解就是B/S(浏览器端——服务器端)结构,web服务器物理上来说也是一个PC机,web服务的软件来把本地资源共享给外部访问,通过ip:端口,使客户端访问到服务端数据。
Socket服务端(发送数据)——————通道——————>socket客户端(接受数据)
socket服务端程序如下
import java.net.Socket;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
public class Serversocket {
public static void main(String[] args) throws Exception {
// 1.创建ServerSocket
ServerSocket server = new ServerSocket(8878);
System.out.println("服务器构建中");
while (true) {
// 2.创建接受客户端的链接
Socket socket1 = server.accept();
System.out.println("2");
// 3.读取本地的test.html文件
FileInputStream in = new FileInputStream(new File("123.html"));
System.out.println("3");
// 4.构建数据写出通道
OutputStream out = socket1.getOutputStream();
System.out.println("4");
// 5.发送数据
byte[] buf = new byte[1024];
int len = 0;
while ((len = in.read(buf)) != -1) {
out.write(buf, 0, len);
}
// 6.关闭资源
out.close();
in.close();
System.out.println("wancheng");
}
}
}
运行起来后呢,我们在浏览器(就相当于socket客户端)进行访问,http://localhost:8878,就可以访问到我们在程序中想要被别人访问的123.html
通过ip和端口进行网络通讯时,是传输二进制数据,所以,用C++做服务端,Java写客户端也是完全可以的