Web socket与服务器-12.22

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-[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)

你可能感兴趣的:(Web socket与服务器-12.22)