classNetConnection.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.3.1"/>
  7. <title>TorqueScript Reference: NetConnection Class Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  12. <link href="t2d-stylesheet-extra.css" rel="stylesheet" type="text/css"/>
  13. </head>
  14. <body>
  15. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  16. <div id="titlearea">
  17. <table cellspacing="0" cellpadding="0">
  18. <tbody>
  19. <tr style="height: 56px;">
  20. <td style="padding-left: 0.5em;">
  21. <div id="projectname">TorqueScript Reference
  22. </div>
  23. </td>
  24. </tr>
  25. </tbody>
  26. </table>
  27. </div>
  28. <!-- end header part -->
  29. <!-- Generated by Doxygen 1.8.3.1 -->
  30. <div id="navrow1" class="tabs">
  31. <ul class="tablist">
  32. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  33. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  34. <li><a href="modules.html"><span>Modules</span></a></li>
  35. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  36. </ul>
  37. </div>
  38. <div id="navrow2" class="tabs2">
  39. <ul class="tablist">
  40. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  41. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  42. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  43. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  44. </ul>
  45. </div>
  46. </div><!-- top -->
  47. <div class="header">
  48. <div class="summary">
  49. <a href="#pub-methods">Public Member Functions</a> &#124;
  50. <a href="classNetConnection-members.html">List of all members</a> </div>
  51. <div class="headertitle">
  52. <div class="title">NetConnection Class Reference</div> </div>
  53. </div><!--header-->
  54. <div class="contents">
  55. <p>Inherits <a class="el" href="classSimGroup.html">SimGroup</a>.</p>
  56. <p>Inherited by <a class="el" href="classGameConnection.html">GameConnection</a>.</p>
  57. <table class="memberdecls">
  58. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  59. Public Member Functions</h2></td></tr>
  60. <tr class="memitem:a3ca3a439befff371232b7e1a2a5d1a85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#a3ca3a439befff371232b7e1a2a5d1a85">checkMaxRate</a> ()</td></tr>
  61. <tr class="separator:a3ca3a439befff371232b7e1a2a5d1a85"><td class="memSeparator" colspan="2">&#160;</td></tr>
  62. <tr class="memitem:a4b22ac32275d0e68252d525ef6c0158a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#a4b22ac32275d0e68252d525ef6c0158a">connect</a> (remoteAddress)</td></tr>
  63. <tr class="separator:a4b22ac32275d0e68252d525ef6c0158a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  64. <tr class="memitem:a178eb5c048b723732d03439e86b0a88c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#a178eb5c048b723732d03439e86b0a88c">connectLocal</a> ()</td></tr>
  65. <tr class="separator:a178eb5c048b723732d03439e86b0a88c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  66. <tr class="memitem:a927251e54364b4e3d64355a785b03013"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#a927251e54364b4e3d64355a785b03013">getAddress</a> ()</td></tr>
  67. <tr class="separator:a927251e54364b4e3d64355a785b03013"><td class="memSeparator" colspan="2">&#160;</td></tr>
  68. <tr class="memitem:a222b51680a35161072c044ce1881803e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#a222b51680a35161072c044ce1881803e">getGhostID</a> (S32 realID)</td></tr>
  69. <tr class="separator:a222b51680a35161072c044ce1881803e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  70. <tr class="memitem:af590a134d615bd768f003171e4c19afa"><td class="memItemLeft" align="right" valign="top">S32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#af590a134d615bd768f003171e4c19afa">getGhostsActive</a> ()</td></tr>
  71. <tr class="separator:af590a134d615bd768f003171e4c19afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  72. <tr class="memitem:aae550d23c0f9088a48aba2e37e572702"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#aae550d23c0f9088a48aba2e37e572702">getPacketLoss</a> ()</td></tr>
  73. <tr class="separator:aae550d23c0f9088a48aba2e37e572702"><td class="memSeparator" colspan="2">&#160;</td></tr>
  74. <tr class="memitem:aae8c640eb6d823e52672cb1e4f5bf1ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#aae8c640eb6d823e52672cb1e4f5bf1ba">getPing</a> ()</td></tr>
  75. <tr class="separator:aae8c640eb6d823e52672cb1e4f5bf1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  76. <tr class="memitem:aa38d848b8d324815dadb27e71e0c7dad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#aa38d848b8d324815dadb27e71e0c7dad">resolveGhostID</a> (S32 ghostID)</td></tr>
  77. <tr class="separator:aa38d848b8d324815dadb27e71e0c7dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
  78. <tr class="memitem:a698f7548d225ee35a783ff510b8ee7db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#a698f7548d225ee35a783ff510b8ee7db">resolveObjectFromGhostIndex</a> (S32 ghostIdx)</td></tr>
  79. <tr class="separator:a698f7548d225ee35a783ff510b8ee7db"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="memitem:ad796615b5ffc4d20f4e48e3421ff3c47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNetConnection.html#ad796615b5ffc4d20f4e48e3421ff3c47">setSimulatedNetParams</a> (packetLoss, delay)</td></tr>
  81. <tr class="separator:ad796615b5ffc4d20f4e48e3421ff3c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. </table>
  83. <h2 class="groupheader">Member Function Documentation</h2>
  84. <a class="anchor" id="a3ca3a439befff371232b7e1a2a5d1a85"></a>
  85. <div class="memitem">
  86. <div class="memproto">
  87. <table class="memname">
  88. <tr>
  89. <td class="memname">void checkMaxRate </td>
  90. <td>(</td>
  91. <td class="paramname"></td><td>)</td>
  92. <td></td>
  93. </tr>
  94. </table>
  95. </div><div class="memdoc">
  96. <p>Use the checkMaxRate method to retrieve the current maximum packet rate for this connection. The period may not neccesarily be one second. To adjust packet rates, see the preference variables above </p>
  97. <dl class="section return"><dt>Returns</dt><dd>Returns an integer value representing the maximum number of packets that can be transmitted by this connection per transmission period. </dd></dl>
  98. </div>
  99. </div>
  100. <a class="anchor" id="a4b22ac32275d0e68252d525ef6c0158a"></a>
  101. <div class="memitem">
  102. <div class="memproto">
  103. <table class="memname">
  104. <tr>
  105. <td class="memname">void connect </td>
  106. <td>(</td>
  107. <td class="paramtype">remoteAddress&#160;</td>
  108. <td class="paramname"></td><td>)</td>
  109. <td></td>
  110. </tr>
  111. </table>
  112. </div><div class="memdoc">
  113. <p>Use the connect method to request a connection to a remote server at the address remoteAddress. </p>
  114. <dl class="params"><dt>Parameters</dt><dd>
  115. <table class="params">
  116. <tr><td class="paramname">remoteAddress</td><td>A string containing an address of the form: A.B.C.D:Port, where A .. B are standard IP numbers between 0 and 255 and Port can be between 1000 and 65536. </td></tr>
  117. </table>
  118. </dd>
  119. </dl>
  120. <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
  121. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classNetConnection.html#a178eb5c048b723732d03439e86b0a88c">connectLocal</a>, <a class="el" href="classNetConnection.html#a927251e54364b4e3d64355a785b03013">getAddress</a> </dd></dl>
  122. </div>
  123. </div>
  124. <a class="anchor" id="a178eb5c048b723732d03439e86b0a88c"></a>
  125. <div class="memitem">
  126. <div class="memproto">
  127. <table class="memname">
  128. <tr>
  129. <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> connectLocal </td>
  130. <td>(</td>
  131. <td class="paramname"></td><td>)</td>
  132. <td></td>
  133. </tr>
  134. </table>
  135. </div><div class="memdoc">
  136. <p>Use the connectLocal method to connect the current client-side connection to a local <a class="el" href="classNetConnection.html">NetConnection</a>, that is to create an internal connection from this client to the internal server. This is accomplished through the use of a back door mechanism and has an extremely high bandwidth. </p>
  137. <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
  138. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classNetConnection.html#a4b22ac32275d0e68252d525ef6c0158a">connect</a>, <a class="el" href="classNetConnection.html#a927251e54364b4e3d64355a785b03013">getAddress</a> </dd></dl>
  139. </div>
  140. </div>
  141. <a class="anchor" id="a927251e54364b4e3d64355a785b03013"></a>
  142. <div class="memitem">
  143. <div class="memproto">
  144. <table class="memname">
  145. <tr>
  146. <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#gadd36cf0d984acde0881d9ab8fff3ae5d">String</a> getAddress </td>
  147. <td>(</td>
  148. <td class="paramname"></td><td>)</td>
  149. <td></td>
  150. </tr>
  151. </table>
  152. </div><div class="memdoc">
  153. <p>Use the getAddress method to get the address and port that this <a class="el" href="classNetConnection.html">NetConnection</a> is currently attached to. </p>
  154. <dl class="section return"><dt>Returns</dt><dd>Returns the address and port that this <a class="el" href="classNetConnection.html">NetConnection</a> is currently attached to, where the addres will be of the form: A.B.C.D:Port. A .. B are standard IP numbers between 0 and 255 and Port can be between 1000 and 65536. If the connection is local, the string 'local' will be returned. If a this <a class="el" href="classNetConnection.html">NetConnection</a> is not currently connected the method will return a NULL string. </dd></dl>
  155. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classNetConnection.html#a4b22ac32275d0e68252d525ef6c0158a">connect</a>, <a class="el" href="classNetConnection.html#a178eb5c048b723732d03439e86b0a88c">connectLocal</a> </dd></dl>
  156. </div>
  157. </div>
  158. <a class="anchor" id="a222b51680a35161072c044ce1881803e"></a>
  159. <div class="memitem">
  160. <div class="memproto">
  161. <table class="memname">
  162. <tr>
  163. <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a> getGhostID </td>
  164. <td>(</td>
  165. <td class="paramtype">S32&#160;</td>
  166. <td class="paramname"><em>realID</em></td><td>)</td>
  167. <td></td>
  168. </tr>
  169. </table>
  170. </div><div class="memdoc">
  171. <p>Convert a real id to the ghost id for this connection. </p>
  172. <dl class="section return"><dt>Returns</dt><dd>The ID as an integer </dd></dl>
  173. </div>
  174. </div>
  175. <a class="anchor" id="af590a134d615bd768f003171e4c19afa"></a>
  176. <div class="memitem">
  177. <div class="memproto">
  178. <table class="memname">
  179. <tr>
  180. <td class="memname">S32 getGhostsActive </td>
  181. <td>(</td>
  182. <td class="paramname"></td><td>)</td>
  183. <td></td>
  184. </tr>
  185. </table>
  186. </div><div class="memdoc">
  187. <p>Use the getGhostsActive method to determine how many ghosts are active on a particular connection. </p>
  188. <dl class="section return"><dt>Returns</dt><dd>Returns an integer value between 0 and inf, specifying how many objects are being ghosted to a client on the other side of a specific connection </dd></dl>
  189. </div>
  190. </div>
  191. <a class="anchor" id="aae550d23c0f9088a48aba2e37e572702"></a>
  192. <div class="memitem">
  193. <div class="memproto">
  194. <table class="memname">
  195. <tr>
  196. <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a> getPacketLoss </td>
  197. <td>(</td>
  198. <td class="paramname"></td><td>)</td>
  199. <td></td>
  200. </tr>
  201. </table>
  202. </div><div class="memdoc">
  203. <p>Use the getPacketLoss method to determine the current packetLoss count for this connection. </p>
  204. <dl class="section return"><dt>Returns</dt><dd>Returns an integer value between 0 and inf, indicating the number of packets that have been lost to date on this net connection. </dd></dl>
  205. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classNetConnection.html#aae8c640eb6d823e52672cb1e4f5bf1ba">getPing</a> </dd></dl>
  206. </div>
  207. </div>
  208. <a class="anchor" id="aae8c640eb6d823e52672cb1e4f5bf1ba"></a>
  209. <div class="memitem">
  210. <div class="memproto">
  211. <table class="memname">
  212. <tr>
  213. <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a> getPing </td>
  214. <td>(</td>
  215. <td class="paramname"></td><td>)</td>
  216. <td></td>
  217. </tr>
  218. </table>
  219. </div><div class="memdoc">
  220. <p>Use the getPing method to determine the round-trip travel time from this connection to the agent on the other end and back again. </p>
  221. <dl class="section return"><dt>Returns</dt><dd>Returns an integer value representing the total time in milliseconds it takes for a ping request to travel to the agent on the other end of a connection and back to this agent. </dd></dl>
  222. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classNetConnection.html#aae550d23c0f9088a48aba2e37e572702">getPacketLoss</a> </dd></dl>
  223. </div>
  224. </div>
  225. <a class="anchor" id="aa38d848b8d324815dadb27e71e0c7dad"></a>
  226. <div class="memitem">
  227. <div class="memproto">
  228. <table class="memname">
  229. <tr>
  230. <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a> resolveGhostID </td>
  231. <td>(</td>
  232. <td class="paramtype">S32&#160;</td>
  233. <td class="paramname"><em>ghostID</em></td><td>)</td>
  234. <td></td>
  235. </tr>
  236. </table>
  237. </div><div class="memdoc">
  238. <p>Convert a ghost id from this connection to a real id. </p>
  239. <dl class="section return"><dt>Returns</dt><dd>The ID as an integer </dd></dl>
  240. </div>
  241. </div>
  242. <a class="anchor" id="a698f7548d225ee35a783ff510b8ee7db"></a>
  243. <div class="memitem">
  244. <div class="memproto">
  245. <table class="memname">
  246. <tr>
  247. <td class="memname"><a class="el" href="group__TorqueScriptTypes.html#ga85be84504cf913ad90b8ee4f264195d3">Integer</a> resolveObjectFromGhostIndex </td>
  248. <td>(</td>
  249. <td class="paramtype">S32&#160;</td>
  250. <td class="paramname"><em>ghostIdx</em></td><td>)</td>
  251. <td></td>
  252. </tr>
  253. </table>
  254. </div><div class="memdoc">
  255. <p>Convert a ghost index from this connection to a real id. </p>
  256. <dl class="section return"><dt>Returns</dt><dd>The ID as an integer </dd></dl>
  257. </div>
  258. </div>
  259. <a class="anchor" id="ad796615b5ffc4d20f4e48e3421ff3c47"></a>
  260. <div class="memitem">
  261. <div class="memproto">
  262. <table class="memname">
  263. <tr>
  264. <td class="memname">void setSimulatedNetParams </td>
  265. <td>(</td>
  266. <td class="paramtype">packetLoss&#160;</td>
  267. <td class="paramname">, </td>
  268. </tr>
  269. <tr>
  270. <td class="paramkey"></td>
  271. <td></td>
  272. <td class="paramtype">delay&#160;</td>
  273. <td class="paramname">&#160;</td>
  274. </tr>
  275. <tr>
  276. <td></td>
  277. <td>)</td>
  278. <td></td><td></td>
  279. </tr>
  280. </table>
  281. </div><div class="memdoc">
  282. <p>Use the setSimulatedNetParams method to force a connection to experience a certain degree of packet-loss and/or latency. This is a debug feature to allow us to see how a distributed game will behave in the face of poor connection quality. </p>
  283. <dl class="params"><dt>Parameters</dt><dd>
  284. <table class="params">
  285. <tr><td class="paramname">packetLoss</td><td>A floating-point value between 0.0 (0%) and 1.0 (100%) dictating the percentage of packets to be artificially lost. </td></tr>
  286. <tr><td class="paramname">delay</td><td>An integer value specifying the number of milliseconds to insert into transmission latencies. </td></tr>
  287. </table>
  288. </dd>
  289. </dl>
  290. <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
  291. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classNetConnection.html#aae550d23c0f9088a48aba2e37e572702">getPacketLoss</a>, <a class="el" href="classNetConnection.html#aae8c640eb6d823e52672cb1e4f5bf1ba">getPing</a> </dd></dl>
  292. </div>
  293. </div>
  294. </div><!-- contents -->
  295. <!-- start footer part -->
  296. <hr class="footer"/><address class="footer"><small>
  297. Generated by &#160;<a href="http://www.doxygen.org/index.html">
  298. <img class="footer" src="doxygen.png" alt="doxygen"/>
  299. </a> 1.8.3.1
  300. </small></address>
  301. </body>
  302. </html>