zdpjs_webrtc
Version:
基于easyrtc二次开发的webrtc框架
177 lines (176 loc) • 25.8 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>EasyRTC Documentation</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
<link href="../assets/easyrtc-docs-jsdoc-styles-1.css" media="all" rel="stylesheet" />
</head>
<body>
<header class="template">
<div class="wrapper-content">
<a href="../index.html"><img src="../assets/easyrtc-logo.png" alt="EasyRTC Documentation"></a>
<h1 title="EasyRTC Documentation">Documentation</h1>
</div>
</header>
<div class="wrapper-docs">
<nav>
<h2><a href="../index.html">Docs Home</a></h2>
<h3>EasyRTC Guides</h3>
<ul>
<li><a href="../easyrtc_faq.html">FAQ</a></li>
<li><a href="../easyrtc_gettingStarted.html">Getting Started</a></li>
<li><a href="../easyrtc_server_install.html">EasyRTC Server: Installation</a></li>
<li><a href="../easyrtc_client_tutorial.html">EasyRTC Framework Tutorial</a></li>
<li><a href="../easyrtc_rooms.html">Rooms</a></li>
<li><a href="../easyrtc_server_configuration.html">EasyRTC Server: Configuration</a></li>
<li><a href="../easyrtc_server_events.html">EasyRTC Server: Events</a></li>
<li><a href="../easyrtc_server_ice.html">EasyRTC Server: ICE Configuration</a></li>
<li><a href="../easyrtc_with_other_servers.html">Using Alongside Other Servers</a></li>
<li><a href="../easyrtc_server_ssl.html">EasyRTC Server: Using SSL</a></li>
<li><a href="../easyrtc_webrtc_problems.html">WebRTC Problems and Possible Fixes</a></li>
<li><a href="../easyrtc_upcoming_features.html">Upcoming Features</a></li>
<li><a href="../easyrtc_changelog.html">Change Log</a></li>
</ul>
<h3>EasyRTC Client Classes</h3>
<ul>
<li><a href="../client-api/Easyrtc.html">Easyrtc</a></li>
<li><a href="../client-api/Easyrtc_App.html">Easyrtc_App</a></li>
<li><a href="../client-api/Easyrtc_ft.html">Easyrtc_ft</a></li>
<li><a href="../client-api/Easyrtc_IframeCapture.html">Easyrtc_IframeCapture</a></li>
<li><a href="../client-api/Easyrtc_No_IframeCapture.html">Easyrtc_No_IframeCapture</a></li>
<li><a href="../client-api/Easyrtc_Rates.html">Easyrtc_Rates</a></li>
<li><a href="../client-api/Easyrtc_Recorder.html">Easyrtc_Recorder</a></li>
</ul>
<h3>EasyRTC Server Modules</h3>
<ul>
<li><a href="../server-api/module-easyrtc_default_event_listeners.html">easyrtc_default_event_listeners</a></li>
<li><a href="../server-api/module-easyrtc_default_options.html">easyrtc_default_options</a></li>
<li><a href="../server-api/module-easyrtc_private_obj.html">easyrtc_private_obj</a></li>
<li><a href="../server-api/module-easyrtc_public_obj.html">easyrtc_public_obj</a></li>
<li><a href="../server-api/module-easyrtc_util.html">easyrtc_util</a></li>
<li><a href="../server-api/module-general_util.html">general_util</a></li>
</ul>
<h3>EasyRTC Server Classes</h3>
<ul>
<li><a href="../server-api/module-easyrtc_default_event_listeners-eventListener.html">eventListener</a></li>
<li><a href="../server-api/module-easyrtc_public_obj-pub.html">pub</a></li>
<li><a href="../server-api/module-easyrtc_public_obj-pub.events.html">events</a></li>
<li><a href="../server-api/module-easyrtc_public_obj-pub.util.html">util</a></li>
<li><a href="../server-api/module-easyrtc_util-eu.html">eu</a></li>
<li><a href="../server-api/module-general_util-g.html">g</a></li>
<li><a href="../server-api/pub.appObj.html">appObj</a></li>
<li><a href="../server-api/pub.appObj.connectionObj.html">connectionObj</a></li>
<li><a href="../server-api/pub.appObj.connectionObj.connectionRoomObj.html">connectionRoomObj</a></li>
<li><a href="../server-api/pub.appObj.roomObj.html">roomObj</a></li>
<li><a href="../server-api/pub.appObj.sessionObj.html">sessionObj</a></li>
</ul>
</nav>
<div class="easyrtc-docs-content">
<div id="main">
<h1 class="page-title">Source: easyrtc_default_options.js</h1>
<section>
<article>
<pre class="prettyprint source linenums easyrtc"><code><a name="line1"></a><div class="linenumber">1</div><div style="width:0em;display:inline-block"></div>/* global module, require */
<a name="line2"></a><div class="linenumber">2</div><div style="width:0em;display:inline-block"></div>
<a name="line3"></a><div class="linenumber">3</div><div style="width:0em;display:inline-block"></div>/**
<a name="line4"></a><div class="linenumber">4</div><div style="width:0em;display:inline-block"></div>* @file Default options used within EasyRTC. Overriding of default options should be done using the public listen() or setOption() functions.
<a name="line5"></a><div class="linenumber">5</div><div style="width:0em;display:inline-block"></div>* @module easyrtc_default_options
<a name="line6"></a><div class="linenumber">6</div><div style="width:0em;display:inline-block"></div>* @author Priologic Software, info@easyrtc.com
<a name="line7"></a><div class="linenumber">7</div><div style="width:0em;display:inline-block"></div>* @copyright Copyright 2016 Priologic Software. All rights reserved.
<a name="line8"></a><div class="linenumber">8</div><div style="width:0em;display:inline-block"></div>* @license BSD v2, see LICENSE file in module root folder.
<a name="line9"></a><div class="linenumber">9</div><div style="width:0em;display:inline-block"></div>*/
<a name="line10"></a><div class="linenumber">10</div><div style="width:0em;display:inline-block"></div>
<a name="line11"></a><div class="linenumber">11</div><div style="width:0em;display:inline-block"></div>var option = {};
<a name="line12"></a><div class="linenumber">12</div><div style="width:0em;display:inline-block"></div>
<a name="line13"></a><div class="linenumber">13</div><div style="width:0em;display:inline-block"></div>// Application Options
<a name="line14"></a><div class="linenumber">14</div><div style="width:0em;display:inline-block"></div>option.appDefaultName = "default"; // The default application a connection belongs to if it is not initially specified.
<a name="line15"></a><div class="linenumber">15</div><div style="width:0em;display:inline-block"></div>option.appAutoCreateEnable = true; // Enables the creation of rooms from the API. Occurs when client joins a nonexistent room.
<a name="line16"></a><div class="linenumber">16</div><div style="width:0em;display:inline-block"></div>option.appDefaultFieldObj = null; // Default fields which are set when an application is created. In form of {"fieldName":{fieldValue:<JsonObj>, fieldOption:{isShared:<boolean>}}[, ...]}
<a name="line17"></a><div class="linenumber">17</div><div style="width:0em;display:inline-block"></div>option.appIceServers = [ // Array of STUN and TURN servers. By default there is only publicly available STUN servers.
<a name="line18"></a><div class="linenumber">18</div><div style="width:2em;display:inline-block"></div>{urls: "stun:stun.l.google.com:19302"},
<a name="line19"></a><div class="linenumber">19</div><div style="width:2em;display:inline-block"></div>{urls: "stun:stun.sipgate.net"},
<a name="line20"></a><div class="linenumber">20</div><div style="width:2em;display:inline-block"></div>{urls: "stun:217.10.68.152"},
<a name="line21"></a><div class="linenumber">21</div><div style="width:2em;display:inline-block"></div>{urls: "stun:stun.sipgate.net:10000"},
<a name="line22"></a><div class="linenumber">22</div><div style="width:2em;display:inline-block"></div>{urls: "stun:217.10.68.152:10000"}
<a name="line23"></a><div class="linenumber">23</div><div style="width:0em;display:inline-block"></div>];
<a name="line24"></a><div class="linenumber">24</div><div style="width:0em;display:inline-block"></div>
<a name="line25"></a><div class="linenumber">25</div><div style="width:0em;display:inline-block"></div>
<a name="line26"></a><div class="linenumber">26</div><div style="width:0em;display:inline-block"></div>// Room Options
<a name="line27"></a><div class="linenumber">27</div><div style="width:0em;display:inline-block"></div>option.roomDefaultEnable = true; // Enables connections joining a default room if it is not initially specified. If false, than a connection initially may be in no room.
<a name="line28"></a><div class="linenumber">28</div><div style="width:0em;display:inline-block"></div>option.roomDefaultName = "default"; // The default room a connection joins if it is not initially specified.
<a name="line29"></a><div class="linenumber">29</div><div style="width:0em;display:inline-block"></div>option.roomAutoCreateEnable = true; // Enables the creation of rooms from the API. Occurs when client joins a nonexistent room.
<a name="line30"></a><div class="linenumber">30</div><div style="width:0em;display:inline-block"></div>option.roomDefaultFieldObj = null; // Default fields which are set when a room is created. In form of {"fieldName":{fieldValue:<JsonObj>, fieldOption:{isShared:<boolean>}}[, ...]}
<a name="line31"></a><div class="linenumber">31</div><div style="width:0em;display:inline-block"></div>
<a name="line32"></a><div class="linenumber">32</div><div style="width:0em;display:inline-block"></div>
<a name="line33"></a><div class="linenumber">33</div><div style="width:0em;display:inline-block"></div>// Connection Options
<a name="line34"></a><div class="linenumber">34</div><div style="width:0em;display:inline-block"></div>option.connectionDefaultFieldObj = null; // Default fields which are set when a connection is created. In form of {"fieldName":{fieldValue:<JsonObj>, fieldOption:{isShared:<boolean>}}[, ...]}
<a name="line35"></a><div class="linenumber">35</div><div style="width:0em;display:inline-block"></div>
<a name="line36"></a><div class="linenumber">36</div><div style="width:0em;display:inline-block"></div>
<a name="line37"></a><div class="linenumber">37</div><div style="width:0em;display:inline-block"></div>// SessionOptions
<a name="line38"></a><div class="linenumber">38</div><div style="width:0em;display:inline-block"></div>option.sessionEnable = true; // Enable sessions. If sessions are disabled, each socket connection from the same user will be the same. Relies on Express session handling also being enabled.
<a name="line39"></a><div class="linenumber">39</div><div style="width:0em;display:inline-block"></div>option.sessionCookieEnable = true; // If enabled, the server will attempt to send a easyrtcsid cookie which matches the Express session id.
<a name="line40"></a><div class="linenumber">40</div><div style="width:0em;display:inline-block"></div>
<a name="line41"></a><div class="linenumber">41</div><div style="width:0em;display:inline-block"></div>
<a name="line42"></a><div class="linenumber">42</div><div style="width:0em;display:inline-block"></div>// API Hosting Options
<a name="line43"></a><div class="linenumber">43</div><div style="width:0em;display:inline-block"></div>option.apiEnable = true; // Enables hosting of the EasyRTC API files.
<a name="line44"></a><div class="linenumber">44</div><div style="width:0em;display:inline-block"></div>option.apiPublicFolder = "/easyrtc"; // Api public folder without trailing slash. Note that the demos expect this to be '/easyrtc'
<a name="line45"></a><div class="linenumber">45</div><div style="width:0em;display:inline-block"></div>option.apiLabsEnable = true; // Enables hosting of the EasyRTC experimental API files located in the 'labs' sub folder
<a name="line46"></a><div class="linenumber">46</div><div style="width:0em;display:inline-block"></div>option.apiOldLocationEnable = false; // [Depreciated] Listens for requests to core API files in old locations (in addition to the new standard locations)
<a name="line47"></a><div class="linenumber">47</div><div style="width:0em;display:inline-block"></div>
<a name="line48"></a><div class="linenumber">48</div><div style="width:0em;display:inline-block"></div>
<a name="line49"></a><div class="linenumber">49</div><div style="width:0em;display:inline-block"></div>// Demo Options
<a name="line50"></a><div class="linenumber">50</div><div style="width:0em;display:inline-block"></div>option.demosEnable = true;
<a name="line51"></a><div class="linenumber">51</div><div style="width:0em;display:inline-block"></div>option.demosPublicFolder = "/demos"; // Demos public folder without trailing slash. This sets the public URL where where demos are hosted, such as http://yourdomain/demos/
<a name="line52"></a><div class="linenumber">52</div><div style="width:0em;display:inline-block"></div>
<a name="line53"></a><div class="linenumber">53</div><div style="width:0em;display:inline-block"></div>
<a name="line54"></a><div class="linenumber">54</div><div style="width:0em;display:inline-block"></div>// Log options - Only apply if internal 'log' event is used
<a name="line55"></a><div class="linenumber">55</div><div style="width:0em;display:inline-block"></div>option.logLevel = "info"; // The minimum log level to show. (debug|info|warning|error|none)
<a name="line56"></a><div class="linenumber">56</div><div style="width:0em;display:inline-block"></div>option.logDateEnable = false; // Display timestamp in each entry
<a name="line57"></a><div class="linenumber">57</div><div style="width:0em;display:inline-block"></div>option.logErrorStackEnable = true; // print the stack trace in logged errors when available
<a name="line58"></a><div class="linenumber">58</div><div style="width:0em;display:inline-block"></div>option.logWarningStackEnable= true; // print the stack trace in logged warnings when available
<a name="line59"></a><div class="linenumber">59</div><div style="width:0em;display:inline-block"></div>option.logColorEnable = true; // include console colors. Disable if forwarding logs to files or databases
<a name="line60"></a><div class="linenumber">60</div><div style="width:0em;display:inline-block"></div>option.logObjectDepth = 7; // When objects are included in the log, this is the max depth the log will display
<a name="line61"></a><div class="linenumber">61</div><div style="width:0em;display:inline-block"></div>option.logMessagesEnable = false; // Log the full contents of incoming and outgoing messages. Also requires the logLevel to be set at "debug". Introduces security and performance concerns.
<a name="line62"></a><div class="linenumber">62</div><div style="width:0em;display:inline-block"></div>
<a name="line63"></a><div class="linenumber">63</div><div style="width:0em;display:inline-block"></div>// Miscellaneous Server Options
<a name="line64"></a><div class="linenumber">64</div><div style="width:0em;display:inline-block"></div>option.updateCheckEnable = true; // Checks for updates
<a name="line65"></a><div class="linenumber">65</div><div style="width:0em;display:inline-block"></div>
<a name="line66"></a><div class="linenumber">66</div><div style="width:0em;display:inline-block"></div>
<a name="line67"></a><div class="linenumber">67</div><div style="width:0em;display:inline-block"></div>// Regular expressions for validating names and other input
<a name="line68"></a><div class="linenumber">68</div><div style="width:0em;display:inline-block"></div>option.apiVersionRegExp = /^[a-z0-9_.+-]{1,32}$/i; // API Version
<a name="line69"></a><div class="linenumber">69</div><div style="width:0em;display:inline-block"></div>option.appNameRegExp = /^[a-z0-9_.-]{1,32}$/i; // Application name
<a name="line70"></a><div class="linenumber">70</div><div style="width:0em;display:inline-block"></div>option.easyrtcidRegExp = /^[a-z0-9_.-]{1,32}$/i; // EasyRTC socket id (easyrtcid)
<a name="line71"></a><div class="linenumber">71</div><div style="width:0em;display:inline-block"></div>option.easyrtcsidRegExp = /^[a-z0-9_.-]{1,64}$/i; // EasyRTC session id (easyrtcsid)
<a name="line72"></a><div class="linenumber">72</div><div style="width:0em;display:inline-block"></div>option.groupNameRegExp = /^[a-z0-9_.-]{1,32}$/i; // Group name
<a name="line73"></a><div class="linenumber">73</div><div style="width:0em;display:inline-block"></div>option.fieldNameRegExp = /^[a-z0-9_. -]{1,32}$/i; // Field names (for defining app and room custom fields)
<a name="line74"></a><div class="linenumber">74</div><div style="width:0em;display:inline-block"></div>option.optionNameRegExp = /^[a-z0-9_. -]{1,32}$/i; // Option names (for defining server options)
<a name="line75"></a><div class="linenumber">75</div><div style="width:0em;display:inline-block"></div>option.presenceShowRegExp = /^(away|chat|dnd|xa)$/; // Allowed presence "show" values (for setPresence command)
<a name="line76"></a><div class="linenumber">76</div><div style="width:0em;display:inline-block"></div>option.presenceStatusRegExp = /^(.){0,255}$/; // Allowed presence "status" value
<a name="line77"></a><div class="linenumber">77</div><div style="width:0em;display:inline-block"></div>option.roomNameRegExp = /^[a-z0-9_.-]{1,32}$/i; // Room name
<a name="line78"></a><div class="linenumber">78</div><div style="width:0em;display:inline-block"></div>option.usernameRegExp = /^(.){1,64}$/i; // Username
<a name="line79"></a><div class="linenumber">79</div><div style="width:0em;display:inline-block"></div>
<a name="line80"></a><div class="linenumber">80</div><div style="width:0em;display:inline-block"></div>
<a name="line81"></a><div class="linenumber">81</div><div style="width:0em;display:inline-block"></div>// Allows the option object to be seen by the caller.
<a name="line82"></a><div class="linenumber">82</div><div style="width:0em;display:inline-block"></div>module.exports = option;
</code></pre>
</article>
</section>
</div>
</div>
</div>
<footer class="template">
<div class="wrapper-content">
<p>Copyright ©2016 EasyRTC</p>
</div>
</footer>
<!-- <script>prettyPrint();</script> -->
<!-- <script src="scripts/linenumber.js"></script> -->
</body>
</html>