File: classwx_server.html

package info (click to toggle)
wxpython3.0 3.0.2.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 482,760 kB
  • ctags: 518,293
  • sloc: cpp: 2,127,226; python: 294,045; makefile: 51,942; ansic: 19,033; sh: 3,013; xml: 1,629; perl: 17
file content (157 lines) | stat: -rw-r--r-- 11,276 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>wxWidgets: wxServer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="page_container">
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0" style="width: 100%;">
 <tbody>
 <tr>
  <td id="projectlogo">
    <a href="http://www.wxwidgets.org/" target="_new">
      <img alt="wxWidgets" src="logo.png"/>
    </a>
  </td>
  <td style="padding-left: 0.5em; text-align: right;">
   <span id="projectnumber">Version: 3.0.2</span>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- Generated by Doxygen 1.8.2 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Categories</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classwx_server-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">wxServer Class Reference<div class="ingroups"><a class="el" href="group__group__class__ipc.html">Interprocess Communication</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;wx/ipc.h&gt;</code></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A <a class="el" href="classwx_server.html" title="A wxServer object represents the server part of a client-server DDE-like (Dynamic Data Exchange) conv...">wxServer</a> object represents the server part of a client-server DDE-like (Dynamic Data Exchange) conversation. </p>
<p>The actual DDE-based implementation using <a class="el" href="classwx_d_d_e_server.html" title="A wxDDEServer object represents the server part of a client-server DDE (Dynamic Data Exchange) conver...">wxDDEServer</a> is available on Windows only, but a platform-independent, socket-based version of this API is available using <a class="el" href="classwx_t_c_p_server.html" title="A wxTCPServer object represents the server part of a client-server conversation.">wxTCPServer</a>, which has the same API.</p>
<p>To create a server which can communicate with a suitable client, you need to derive a class from <a class="el" href="classwx_connection.html" title="A wxConnection object represents the connection between a client and a server.">wxConnection</a> and another from <a class="el" href="classwx_server.html" title="A wxServer object represents the server part of a client-server DDE-like (Dynamic Data Exchange) conv...">wxServer</a>. The custom <a class="el" href="classwx_connection.html" title="A wxConnection object represents the connection between a client and a server.">wxConnection</a> class will intercept communications in a 'conversation' with a client, and the custom <a class="el" href="classwx_server.html" title="A wxServer object represents the server part of a client-server DDE-like (Dynamic Data Exchange) conv...">wxServer</a> is required so that a user-overridden <a class="el" href="classwx_server.html#ae04dd9aa98b7a0a3cfce1333d80b0713" title="When a client calls MakeConnection, the server receives the message and this member is called...">wxServer::OnAcceptConnection</a> member can return a <a class="el" href="classwx_connection.html" title="A wxConnection object represents the connection between a client and a server.">wxConnection</a> of the required class, when a connection is made. Look at the IPC sample and the <a class="el" href="overview_ipc.html">Interprocess Communication</a> for an example of how to do this.</p>
<h2></h2>
<div><span class="lib">Library:</span>&#160;&#160;<span class="lib_text"><a class="el" href="page_libs.html#page_libs_wxbase">wxBase</a></span></div><div><span class="category">Category:</span>&#160;&#160;<span class="category_text"><a class="el" href="group__group__class__ipc.html">Interprocess Communication</a></span></div><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classwx_client.html" title="A wxClient object represents the client part of a client-server DDE-like (Dynamic Data Exchange) conv...">wxClient</a>, <a class="el" href="classwx_connection.html" title="A wxConnection object represents the connection between a client and a server.">wxConnection</a>, IPC, <a class="el" href="overview_ipc.html">Interprocess Communication</a> </dd></dl>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a556dfbb0ccf13a3ee99cc8ce10b8f2f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwx_server.html#a556dfbb0ccf13a3ee99cc8ce10b8f2f1">wxServer</a> ()</td></tr>
<tr class="memdesc:a556dfbb0ccf13a3ee99cc8ce10b8f2f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a server object.  <a href="#a556dfbb0ccf13a3ee99cc8ce10b8f2f1"></a><br/></td></tr>
<tr class="separator:a556dfbb0ccf13a3ee99cc8ce10b8f2f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af94377e136023548698a6898ed2ffb3c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwx_server.html#af94377e136023548698a6898ed2ffb3c">Create</a> (const <a class="el" href="classwx_string.html">wxString</a> &amp;service)</td></tr>
<tr class="memdesc:af94377e136023548698a6898ed2ffb3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers the server using the given service name.  <a href="#af94377e136023548698a6898ed2ffb3c"></a><br/></td></tr>
<tr class="separator:af94377e136023548698a6898ed2ffb3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae04dd9aa98b7a0a3cfce1333d80b0713"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classwx_connection_base.html">wxConnectionBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwx_server.html#ae04dd9aa98b7a0a3cfce1333d80b0713">OnAcceptConnection</a> (const <a class="el" href="classwx_string.html">wxString</a> &amp;topic)</td></tr>
<tr class="memdesc:ae04dd9aa98b7a0a3cfce1333d80b0713"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a client calls <b>MakeConnection</b>, the server receives the message and this member is called.  <a href="#ae04dd9aa98b7a0a3cfce1333d80b0713"></a><br/></td></tr>
<tr class="separator:ae04dd9aa98b7a0a3cfce1333d80b0713"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a556dfbb0ccf13a3ee99cc8ce10b8f2f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wxServer::wxServer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructs a server object. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="af94377e136023548698a6898ed2ffb3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool wxServer::Create </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classwx_string.html">wxString</a> &amp;&#160;</td>
          <td class="paramname"><em>service</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Registers the server using the given service name. </p>
<p>Under Unix, the service name may be either an integer port identifier in which case an Internet domain socket will be used for the communications, or a valid file name (which shouldn't exist and will be deleted afterwards) in which case a Unix domain socket is created.</p>
<p><span class="literal">false</span> is returned if the call failed (for example, the port number is already in use). </p>

</div>
</div>
<a class="anchor" id="ae04dd9aa98b7a0a3cfce1333d80b0713"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classwx_connection_base.html">wxConnectionBase</a>* wxServer::OnAcceptConnection </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classwx_string.html">wxString</a> &amp;&#160;</td>
          <td class="paramname"><em>topic</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>When a client calls <b>MakeConnection</b>, the server receives the message and this member is called. </p>
<p>The application should derive a member to intercept this message and return a connection object of either the standard <a class="el" href="classwx_connection.html" title="A wxConnection object represents the connection between a client and a server.">wxConnection</a> type, or (more likely) of a user-derived type.</p>
<p>If the topic is <b>STDIO</b>, the application may wish to refuse the connection. Under UNIX, when a server is created the <a class="el" href="classwx_server.html#ae04dd9aa98b7a0a3cfce1333d80b0713" title="When a client calls MakeConnection, the server receives the message and this member is called...">OnAcceptConnection()</a> message is always sent for standard input and output, but in the context of DDE messages it doesn't make a lot of sense. </p>

</div>
</div>
</div><!-- contents -->

<address class="footer">
	<small>
		Generated on Thu Nov 27 2014 13:46:56 for wxWidgets by <a href="http://www.doxygen.org/index.html" target="_new">Doxygen</a> 1.8.2
	</small>
</address>
<script src="wxwidgets.js" type="text/javascript"></script>
</div><!-- #page_container -->
</body>
</html>