欢迎来到天天文库
浏览记录
ID:56527384
大小:215.00 KB
页数:30页
时间:2020-06-27
《BS网络模式的运行原理及实现.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、BS模式的工作原理及实现作者:李世明BS模式BS模式,即浏览器/服务器模式,是一种从传统的二层CS模式发展起来的新的网络结构模式,其本质是三层结构CS模式。BS模式的工作原理在B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。BS模式的工作原理BS模式
2、的工作原理使用到的技术Socket网络通信多线程IO流(文件操作)TCP协议TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
3、图Scoket服务器ServerSocketserver=newServerSocket(4700);//创建一个ServerSocket在端口4700监听客户请求System.out.println("等待用户连接,处于阻塞状态。");Socketsocket=server.accept();//使用accept()阻塞等待客户请求,有客户//请求到来则产生一个Socket对象,并继续执行System.out.println("连接的IP:"+socket.getInetAddress().getHostAddress());服务器Scoket客户端Stringip="
4、localhost";Socketsocket=newSocket(ip,4700);IO流的使用获得输入流BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream()));获得输出流PrintWriterout=newPrintWriter(socket.getOutputStream());out.close();//关闭Socket输出流in.close();//关闭Socket输入流socket.close();//关闭SocketIO流的使用发送out.printl
5、n("bye");out.flush();接收in.readLine()//注意此方法会处于阻塞状态,不接到数据就停在这等。案例-信息发送服务器功能:接收客户端发来的“数据”,打印到控制台。客户端做一个死循环,发送“数据”多线程一、操作系统中线程和进程的概念二、Java中的线程一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。线程是指进程中的一个执行流程,一个进程中可以运行多个
6、线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。“同时”执行是人的感觉,在线程之间实际上轮换执行。Java中的线程在Java中,“线程”指两件不同的事情:1、java.lang.Thread类的一个实例;2、线程的执行。继承java.lang.Thread类publicclassPersonextendsThread{//线程体publicvoidrun(){//在这里添加—代码System.out.println("线程开始。。");}}运行线程类:Personperson=newPerson();person.s
7、tart();案例-多线程publicclassPersonextendsThread{privateStringname;publicPerson(Stringname){this.name=name;}publicvoidrun(){inti=0;while(i<=100){System.out.println(name+"线程---"+i++);try{this.sleep(100);//休眠100毫秒}catch(InterruptedExceptione){e.printStackTrace();}}}//=====
此文档下载收益归作者所有