Web socket
1.HTTP 与 socket的区别
相同:都是客户端与服务端进行通信的协议
不同:
-
HTTP:
-
无状态连接,本次客户端的请求,服务器端不知道客户端的上次请求
-
短连接,通信双方进行数据交互时,建立连接,数据传送结束后断开连接,即每次连接只完成一项业务的发送
-
socket
长连接,连接即是实时的,也是永久的;服务端可主动推送消息,不需轮询客户端的请求,与客户端通信无需重新连接
2.使用WorkerMan,设置socket客户端 -
设置php环境变量
-
下载并解压workerMan
http://www.workerman.net/workerman
workerMan学习文档
http://doc3.workerman.net/getting-started/simple-example.html
3.在任意位置创建http_test.php文件,并将课件中的start.text文件中内容复制到该文件中(位置任意,能引用到Workerman文件中的Autoloader.php即可
4.运行上建的文件,启动workerMan
执行workerMan
5.Web socket的使用 -
调用 WebSocket 对象的构造器来建立与服务器之间的通信连接
var webSocket = new WebSocket (“ws://127.0.0.1: 8005/socket”) ;
请求地址(url)不能再是http://开头,Web Sockets的请求头(url的开头)
ws:// - Web Socket的缩写
wss:// - 表示加密协议 -
使用 WebSocket 对象的 send() 方法对服务器发送数据
webSocket.send (“data”);
send() 方法只能发送文本数据。,使用JSON对象把任何JavaScript,对象转换称文本数据后进行发送。 -
通过WebSocket对象的close() 方法来关闭socket,切断通信连接:
webSocket.close( ) ; -
Web Socket事件
-
通过获取 onmessage事件来接收服务器传来的数据:
webSocket.onmessage = function( event ){
var data = event.data ;
} -
通过获取 onopen 事件来监听 socket 的打开事件:
webSocket.onopen = function( event ){
} -
通过获取onclose事件来监听socket 的关闭事件:
webSocket.onclose = function( event ){
} -
通过onerror事件,监听客户端与服务器端连接出错
webSocket.onerror = function( event ){
} -
通过读取 readyState 的属性值来获取 WebSocket 对象的状态。
CONNECTING(数字值为0),表示正在连接。
OPEN(数字值为1),表示已建立连接。
CLOSING(数字值为2),表示正在关闭连接。
CLOSED(数字值为2),表示已关闭连接。
服务器的概念
1.服务器其实就是网络环境中的高性能计算机,他侦听网络上的其他客户机提交的服务请求,并提供相应的服务,如“域名解析”、“文件下载”,"网页浏览","邮件收发"等等
2.服务器的分类
- 硬件服务器 - PC机
- 电脑硬件 - PC机/小型机/刀片机/大型机/
- 软件服务器 - 中间件
为了向客户端提供服务,必须安装能够监听特定端口,并接收客户端请求的应用程序 - Web服务器 - 用于运行Web应用
- 数据库服务器 - 用于运行数据库产品
3.软件架构
- B/S - 浏览器/服务器
- C/S - 客户端/服务器
4.访问Web应用
- http://www.baidu.com:80
- http网络协议: 类似两个人通话必须先确定所说的语言
- IP: 服务器的域名或IP地址
- 端口号: 一台计算机上可能提供多种服务,不同服务使用不同端口
XAMPP软件
1.Apache - 软件服务器(运行PHP)
-
启动失败: 端口号被占用
-
错误信息: Error:Apache shutdown unexpectedly
-
解决办法: 找config-<browse>[Apache] - conf目录-httpd.conf 修改58行,改变端口号
-
如何访问:
-
http://localhost:端口号
-
http://127.0.0.1:端口号
-
设置虚拟地址:
-
C:\Windows\System32\drivers\etc\hosts
-
关于80端口号
-
cmd打开命令行窗口输入 netstat -ano
-
找到80端口号对应的PID值
-
在任务管理器的进程中找到对应PID的进程
-
在本地搭建Web应用程序
-
XAMPP软件的安装路径-htdocs
-
将该目录的所有文件删除
-
创建index.html页面文件
-
重新再浏览器中访问虚拟地址
-
MySQL - 数据库服务器(运行MySQL)
-
MySQL默认使用的端口号 - 3306
-
不建议修改该端口号
-
phpMyadmin
-
Tomcat - 软件服务器(运行Java)
网友评论