网站产品关键词导出,国外网站国内做二维码,wordpress怎麽换主题,消防维保公司宣传册设计样本目录
1. Tomcat
1.1 Tomcat帮助启动http服务器。
1.2 tomcat理解#xff1a;
2. 计算机网络最基本的流程 2.1 信息是怎么来的#xff1f;
2.2 端口是干什么的#xff1f;
3. 简单的Socket案例
服务端
客户端
启动#xff1a;
3.2 在Tomcat发送信息#xff0c;看…目录
1. Tomcat
1.1 Tomcat帮助启动http服务器。
1.2 tomcat理解
2. 计算机网络最基本的流程 2.1 信息是怎么来的
2.2 端口是干什么的
3. 简单的Socket案例
服务端
客户端
启动
3.2 在Tomcat发送信息看能不能接收到 1. Tomcat
大公司的MVC框架都是自己设计搭建的。 Tomcat---本身只是一个web容器这个容器能够承载项目。 1.1 Tomcat帮助启动http服务器。 解释xxxDemo 自己写好的项目外部是无法通过http访问到这个写好的项目的那么我们把它放进tomcat中然后启用http外部就能够访问了。 http是网络访问形式 1.2 tomcat理解 比如 我们写一个a.html在网页上打开显示访问方式 我们想要http访问可以 把它放进tomcat中。 我们直接打开tomcat 所有的项目都在 tomcat 下的webapps目录下。 我们在 tomcat 的 webapps 下直接新建一个文件夹其实就是新建一个项目起名叫 myweb , 把我们写的 a.html文件放进这个文件夹中启动tomcat。 .bat文件是Windows的启动。 启动之后再访问a.html此时的访问是http的访问形式。 总结 tomcat是服务器----能让其中配置的项目接受http请求。 2. 计算机网络最基本的流程
1 操作系统做网络的问答。 2 应用程序在操作系统之上。
3 应用程序通过Socket与操作系统通讯。 4 操作系统之下是物理硬件--网卡。
网卡通过导线相连即网线两个网卡通过大型的计算机网络相连。 网卡就是 接收 和 发送 0101这样信号的。 这就是计算机网络最基本的流程。 总结 Socket就是两个软件之间的通讯保证。 2.1 信息是怎么来的 Tomcat本身就是一个应用软件如果我们现在去掉操作系统。 如果一个信息发送过来肯定是先打到网卡然后通过Socket最后把 当前信息 给到 应用程序Tomcat中。
2.2 端口是干什么的 网卡上设置有端口。
网卡什么样的信息都可以发送到网卡。 操作系统之上运行有各种各样的软件WXQQTomcat...那么怎么把当前信息准确地发到对应的软件 答通过端口。 比如 与微信上的女朋友说I love you. 与QQ上的女朋友说“今晚一起吃饭。” 如何发送到对应的软件 要想被识别信息必须带上端口号才能对应上。 3. 简单的Socket案例 打开IDEA新建项目选择java项目SDK默认即可其余都不选下一步取个名字 ’javaDemo‘。 过程 首先新建一个客户端起名’SocketClient‘
客户端是发送信息的。可以理解为浏览器。 再新建一个类’SocketServer‘
服务器端类比于tomcat接收信息。
服务端
在服务端 写个run()方法
1.创建Socket 监听4747端口我们所能监听的端口0--65535因为端口只有这些
public static void run() throws IOException {ServerSocket serverSocketnew ServerSocket(4747);//端口的范围0--65535}
2. 写一个循环等待客户的连接
while(true){} while(true)本身是一个死循环为了不让程序卡死我们调用一个 serverSocket.accept() 方法阻塞监听只有监听到客户端的信息后才会向下执行。
Socket socket serverSocket.accept();//阻塞监听只有监听到客户端的信息后才会向下执行
3.下一步输出客户端给我们发来的程序。 socket.getInputStream() 打开当前的输入流接收输入的信息。
InputStream inputStream socket.getInputStream();//打开输入流接收输入的信息 输入的字节流信息按字节流读取read()阻塞 从Socket上读取对端发过来的数据一般有两种方法 1按照字节流读取 BufferedInputStream in new BufferedInputStream(socket.getInputStream());
int r -1;
ListByte l new LinkedListByte();while ((r in.read()) ! -1) {l.add(Byte.valueOf((byte) r));} 2按照字符流读取 BufferedReader in new BufferedReader(new InputStreamReader(socket.getInputStream())); String s;while ((s in.readLine()) ! null) {System.out.println(Reveived: s);} 这两个方法 read() 和 readLine() 都会读取对端发送过来的数据如果无数据可读就会阻塞直到有数据可读。或者到达流的末尾这个时候分别返回-1和null。 这个特性使得编程非常方便也很高效。 信息量是多少输入流就是0101这样的数据最后把0101数据转换成String类型的字符串数据。
int count0;
while(count0){count inputStream.available();
}
byte[] bytesnew byte[count];//010101001
inputStream.read(bytes);
String contextnew String(bytes);
System.out.println(context);
客户端
1. 创建Socket
Socket socketnew Socket(127.0.0.1,4747); 本地端口号是127.0.0.1, 向 4747 端口号传信息。
2. 打开输出流建立Socket连接 getOutputStream方法得到的是一个输出流客户端的Socket对象上的getOutputStream方法得到的输出流其实就是发送给服务器端的数据。
OutputStream outputStream socket.getOutputStream();
3. 打印输出流
PrintStream printStreamnew PrintStream(outputStream);
System.out.println(hello);
若想输入自己想要的东西
Scanner scannernew Scanner(System.in);
String context scanner.nextLine();
printStream.println(context);
4. 关闭输出流 close()方法用于关闭基础输出流。 启动 先启动服务器端让他处于随时的监听状态。 再启动客户端。 3.2 在Tomcat发送信息看能不能接收到 首先运行服务器。
Tomcat 4747端口发送aaaaaa.ssss 能够接收到。 就是说当前服务端能直接接收浏览器传输的信息的。