]>
Commit | Line | Data |
---|---|---|
1 | \section{\class{wxSocketBase}}\label{wxsocketbase} | |
2 | ||
3 | \wxheading{Derived from} | |
4 | ||
5 | \helpref{wxEvtHandler}{wxevthandler} | |
6 | ||
7 | \wxheading{Include files} | |
8 | ||
9 | <wx/socket.h> | |
10 | ||
11 | \wxheading{wxSocket errors}%\label{wxsocketerrs} % Labels don't work on a non-section! | |
12 | ||
13 | \twocolwidtha{7cm} | |
14 | \begin{twocollist}\itemsep=0pt | |
15 | \twocolitem{{\bf wxSOCKET\_NOERROR}}{No error happened.} | |
16 | \twocolitem{{\bf wxSOCKET\_INVOP}}{Invalid operation.} | |
17 | \twocolitem{{\bf wxSOCKET\_IOERR}}{Input/Output error.} | |
18 | \twocolitem{{\bf wxSOCKET\_INVADDR}}{Invalid address passed to wxSocket.} | |
19 | \twocolitem{{\bf wxSOCKET\_INVSOCK}}{Invalid socket (uninitialized).} | |
20 | \twocolitem{{\bf wxSOCKET\_NOHOST}}{No corresponding host.} | |
21 | \twocolitem{{\bf wxSOCKET\_INVPORT}}{Invalid port.} | |
22 | \twocolitem{{\bf wxSOCKET\_TRYAGAIN}}{The IO call has a timeout or is in non-blocking mode.} | |
23 | \twocolitem{{\bf wxSOCKET\_MEMERR}}{Memory exhausted.} | |
24 | \end{twocollist}% | |
25 | ||
26 | \wxheading{wxSocket events} | |
27 | ||
28 | \twocolwidtha{7cm} | |
29 | \begin{twocollist}\itemsep=0pt | |
30 | \twocolitem{{\bf wxSOCKET\_INPUT}}{Some data are ready to be got.} | |
31 | \twocolitem{{\bf wxSOCKET\_OUTPUT}}{The socket is ready to be written to.} | |
32 | \twocolitem{{\bf wxSOCKET\_CONNECTION}}{Someone want to connect our server.} | |
33 | \twocolitem{{\bf wxSOCKET\_LOST}}{The connection has been broken.} | |
34 | \twocolitem{{\bf wxSOCKET\_MAX\_EVENT}}{This should never happen but the compiler may complain about it.} | |
35 | \end{twocollist}% | |
36 | ||
37 | % --------------------------------------------------------------------------- | |
38 | % Event handling | |
39 | % --------------------------------------------------------------------------- | |
40 | \wxheading{Event handling} | |
41 | ||
42 | To process events from a socket, use the following event handler macro to direct | |
43 | input to member | |
44 | functions that take a \helpref{wxSocketEvent}{wxsocketevent} argument. | |
45 | ||
46 | \twocolwidtha{7cm}% | |
47 | \begin{twocollist}\itemsep=0pt | |
48 | \twocolitem{{\bf EVT\_SOCKET(id, func)}}{A socket event occured.} | |
49 | \end{twocollist}% | |
50 | ||
51 | % --------------------------------------------------------------------------- | |
52 | % See also ... | |
53 | % --------------------------------------------------------------------------- | |
54 | \wxheading{See also} | |
55 | ||
56 | \helpref{wxSocketEvent}{wxsocketevent}\\ | |
57 | \helpref{wxSocketClient}{wxsocketclient}\\ | |
58 | \helpref{wxSocketServer}{wxsocketserver} | |
59 | ||
60 | % --------------------------------------------------------------------------- | |
61 | % Members | |
62 | % --------------------------------------------------------------------------- | |
63 | \latexignore{\rtfignore{\wxheading{Members}}} | |
64 | ||
65 | \membersection{wxSocketBase::wxSocketBase} | |
66 | ||
67 | \func{}{wxSocketBase}{\void} | |
68 | ||
69 | Default constructor but don't use it, you must use \helpref{wxSocketClient}{wxsocketclient} | |
70 | or \helpref{wxSocketServer}{wxsocketserver}. | |
71 | ||
72 | \membersection{wxSocketBase::\destruct{wxSocketBase}} | |
73 | ||
74 | \func{}{\destruct{wxSocketBase}}{\void} | |
75 | ||
76 | Destroys the wxSocketBase object. | |
77 | ||
78 | % --------------------------------------------------------------------------- | |
79 | % State functions | |
80 | % --------------------------------------------------------------------------- | |
81 | ||
82 | % | |
83 | % SetFlags | |
84 | % | |
85 | ||
86 | \membersection{wxSocketBase::SetFlags}\label{wxsocketbasesetflags} | |
87 | ||
88 | \func{void}{SetFlags}{\param{wxSocketBase::wxSockFlags}{ flags}} | |
89 | ||
90 | \twocolwidtha{7cm} | |
91 | \begin{twocollist}\itemsep=0pt | |
92 | \twocolitem{{\bf wxSocketBase::NONE}}{Normal functionnalities.} | |
93 | \twocolitem{{\bf wxSocketBase::NOWAIT}}{Get the available data in the input queue and exit immediately.} | |
94 | \twocolitem{{\bf wxSocketBase::WAITALL}}{Wait for all required data unless an error occured.} | |
95 | \twocolitem{{\bf wxSocketBase::SPEED}}{Disable the asynchronous IO functionnality.} | |
96 | \end{twocollist} | |
97 | ||
98 | % | |
99 | % SetNotify | |
100 | % | |
101 | \membersection{wxSocketBase::SetNotify}\label{wxsocketbasesetnotify} | |
102 | ||
103 | \func{void}{SetNotify}{\param{wxSocketEventFlags}{ event_flags}} | |
104 | ||
105 | SetNotify setups which socket events are to be sent to the event handler. | |
106 | You specify in parameters a mask of wxSocket events. The flags is: | |
107 | ||
108 | \twocolwidtha{7cm} | |
109 | \begin{twocollist}\itemsep=0pt | |
110 | \twocolitem{{\bf wxSOCKET\_INPUT\_FLAG}}{to receive wxSOCKET_INPUT} | |
111 | \twocolitem{{\bf wxSOCKET\_OUTPUT\_FLAG}}{to receive wxSOCKET_OUTPUT} | |
112 | \twocolitem{{\bf wxSOCKET\_CONNECTION\_FLAG}}{to receive wxSOCKET_CONNECTION} | |
113 | \twocolitem{{\bf wxSOCKET\_LOST\_FLAG}}{to receive wxSOCKET_LOST} | |
114 | \end{twocollist}% | |
115 | ||
116 | For example: | |
117 | \begin{verbatim} | |
118 | sock.SetNotify(wxSOCKET\_INPUT\_FLAG | wxSOCKET\_LOST\_FLAG); | |
119 | \end{verbatim} | |
120 | In this example, the user will be notified about incoming socket datas and | |
121 | a broken connection. | |
122 | ||
123 | For more information on socket events see \helpref{wxSocket events}{wxsocketbase}. | |
124 | ||
125 | % | |
126 | % SetTimeout | |
127 | % | |
128 | \membersection{wxSocketBase::SetTimeout}{wxsocketbasesettimeout} | |
129 | ||
130 | \func{void}{SetTimeout}{\param{int }{seconds}} | |
131 | ||
132 | This function sets the socket timeout in seconds. | |
133 | ||
134 | % | |
135 | % Notify | |
136 | % | |
137 | \membersection{wxSocketBase::Notify}\label{wxsocketbasenotify} | |
138 | ||
139 | \func{void}{Notify}{\param{bool}{ notify}} | |
140 | ||
141 | Notify will enable (notify is TRUE) or disable (notify is FALSE) the propagation | |
142 | of socket events. | |
143 | ||
144 | % | |
145 | % Ok | |
146 | % | |
147 | ||
148 | \membersection{wxSocketBase::Ok}\label{wxsocketbaseok} | |
149 | ||
150 | \constfunc{bool}{Ok}{\void} | |
151 | ||
152 | Returns TRUE if the socket is initialized and ready and FALSE in other | |
153 | cases. | |
154 | ||
155 | \membersection{wxSocketBase::Error}\label{wxsocketbaseerror} | |
156 | ||
157 | \constfunc{bool}{Error}{\void} | |
158 | ||
159 | Returns TRUE if an error occured. | |
160 | ||
161 | \membersection{wxSocketBase::IsConnected}\label{wxsocketbaseconnected} | |
162 | ||
163 | \constfunc{bool}{IsConnected}{\void} | |
164 | ||
165 | Returns TRUE if the socket is connected. | |
166 | ||
167 | \membersection{wxSocketBase::IsData}\label{wxsocketbaseisdata} | |
168 | ||
169 | \constfunc{bool}{IsData}{\void} | |
170 | ||
171 | Returns TRUE if some data is arrived on the socket. | |
172 | ||
173 | \membersection{wxSocketBase::IsDisconnected}\label{wxsocketbasedisconnected} | |
174 | ||
175 | \constfunc{bool}{IsDisconnected}{\void} | |
176 | ||
177 | Returns TRUE if the socket is disconnected. | |
178 | ||
179 | \membersection{wxSocketBase::IsNoWait}\label{wxsocketbasenowait} | |
180 | ||
181 | \constfunc{bool}{IsNoWait}{\void} | |
182 | ||
183 | Returns TRUE if the socket mustn't wait. | |
184 | ||
185 | \membersection{wxSocketBase::LastCount}\label{wxsocketbaselastcount} | |
186 | ||
187 | \constfunc{wxUint32}{LastCount}{\void} | |
188 | ||
189 | Returns the number of bytes read or written by the last IO call. | |
190 | ||
191 | \membersection{wxSocketBase::LastError}\label{wxsocketbaselasterror} | |
192 | ||
193 | \constfunc{wxSocketError}{LastError}{\void} | |
194 | ||
195 | Returns the last occured wxSocket error. See \helpref{wxSocket errors}{wxsocketbase}. | |
196 | ||
197 | % --------------------------------------------------------------------------- | |
198 | % IO calls | |
199 | % --------------------------------------------------------------------------- | |
200 | % | |
201 | % Peek | |
202 | % | |
203 | \membersection{wxSocketBase::Peek}\label{wxsocketbasepeek} | |
204 | ||
205 | \func{wxSocketBase\&}{Peek}{\param{char *}{ buffer}, \param{wxUint32}{ nbytes}} | |
206 | ||
207 | This function peeks a buffer of {\it nbytes} bytes from the socket. Peeking a buffer | |
208 | doesn't delete it from the system socket in-queue. | |
209 | ||
210 | \wxheading{Parameters} | |
211 | ||
212 | \docparam{buffer}{Buffer where to put peeked data.} | |
213 | ||
214 | \docparam{nbytes}{Number of bytes.} | |
215 | ||
216 | \wxheading{Return value} | |
217 | ||
218 | Returns a reference to the current object. | |
219 | ||
220 | \wxheading{See also} | |
221 | ||
222 | \helpref{wxSocketBase::Error}{wxsocketbaseerror}\\ | |
223 | \helpref{wxSocketBase::LastCount}{wxsocketbaselastcount}\\ | |
224 | \helpref{wxSocketBase::LastError}{wxsocketbaselasterror} | |
225 | ||
226 | % | |
227 | % Read | |
228 | % | |
229 | \membersection{wxSocketBase::Read}\label{wxsocketbaseread} | |
230 | ||
231 | \func{wxSocketBase\&}{Read}{\param{char *}{ buffer}, \param{wxUint32}{ nbytes}} | |
232 | ||
233 | This function reads a buffer of {\it nbytes} bytes from the socket. | |
234 | ||
235 | \wxheading{Parameters} | |
236 | ||
237 | \docparam{buffer}{Buffer where to put read data.} | |
238 | ||
239 | \docparam{nbytes}{Number of bytes.} | |
240 | ||
241 | \wxheading{Return value} | |
242 | ||
243 | Returns a reference to the current object. | |
244 | ||
245 | \wxheading{Remark/Warning} | |
246 | ||
247 | By default, Read uses an internal asynchronous manager: it will send data when | |
248 | the socket requests them. It is particularly interesting when you enter a long | |
249 | data transfer (e.g. a big file, an image, ...). But it is also buggy when you | |
250 | simply discuss with the peer using user data. In this case, wxSocket prepares | |
251 | itself to send data (Write wait for them to be sent) and during a GUI refresh | |
252 | the user enters new data, which involves a new Read call though the previous | |
253 | isn't finished. Well, in most cases it can work but it might fail too. | |
254 | So I advise you to use the SPEED flag, which disables the asynchronous manager, | |
255 | when you just want to discuss with the peer. | |
256 | ||
257 | This remark is also valid for all IO call. | |
258 | ||
259 | \wxheading{See also} | |
260 | ||
261 | \helpref{wxSocketBase::Error}{wxsocketbaseerror}, | |
262 | \helpref{wxSocketBase::LastCount}{wxsocketbaselastcount}, | |
263 | \helpref{wxSocketBase::LastError}{wxsocketbaselasterror} | |
264 | ||
265 | % | |
266 | % Write | |
267 | % | |
268 | \membersection{wxSocketBase::Write}\label{wxsocketbasewrite} | |
269 | ||
270 | \func{wxSocketBase\&}{Write}{\param{const char *}{ buffer}, \param{wxUint32}{ nbytes}} | |
271 | ||
272 | This function writes a buffer of {\it nbytes} bytes from the socket. | |
273 | ||
274 | \wxheading{Remark/Warning} | |
275 | ||
276 | By default, Write uses an internal asynchronous manager: it will send data when | |
277 | the socket requests them. It is particularly interesting when you enter a long | |
278 | data transfer (e.g. a big file, an image, ...). But it is also buggy when you | |
279 | simply discuss with the peer using user data. In this case, wxSocket prepares | |
280 | itself to send data (Write wait for them to be sent) and during a GUI refresh | |
281 | the user enters new data, which involves a new Write call though the previous | |
282 | isn't finished. Well, in most cases it can work but it might fail too. | |
283 | So I advise you to use the SPEED flag, which disables the asynchronous manager, | |
284 | when you just want to discuss with the peer. | |
285 | ||
286 | \wxheading{Parameters} | |
287 | ||
288 | \docparam{buffer}{Buffer where to get the data to write.} | |
289 | ||
290 | \docparam{nbytes}{Number of bytes.} | |
291 | ||
292 | \wxheading{Return value} | |
293 | ||
294 | Returns a reference to the current object. | |
295 | ||
296 | \wxheading{See also} | |
297 | ||
298 | \helpref{wxSocketBase::Error}{wxsocketbaseerror}\\ | |
299 | \helpref{wxSocketBase::LastCount}{wxsocketbaselastcount}\\ | |
300 | \helpref{wxSocketBase::LastError}{wxsocketbaselasterror} | |
301 | ||
302 | % | |
303 | % WriteMsg | |
304 | % | |
305 | \membersection{wxSocketBase::WriteMsg}\label{wxsocketbasewritemsg} | |
306 | ||
307 | \func{wxSocketBase\&}{WriteMsg}{\param{const char *}{ buffer}, \param{wxUint32}{ nbytes}} | |
308 | ||
309 | This function writes a buffer of {\it nbytes} bytes from the socket. But it | |
310 | writes a short header before so that ReadMsg can alloc the right size for | |
311 | the buffer. So a buffer sent with WriteMsg {\bf must} be read with ReadMsg. | |
312 | ||
313 | \wxheading{Parameters} | |
314 | ||
315 | \docparam{buffer}{Buffer where to put data peeked.} | |
316 | ||
317 | \docparam{nbytes}{Number of bytes.} | |
318 | ||
319 | \wxheading{Return value} | |
320 | ||
321 | Returns a reference to the current object. | |
322 | ||
323 | \wxheading{See also} | |
324 | ||
325 | \helpref{wxSocketBase::Error}{wxsocketbaseerror}\\ | |
326 | \helpref{wxSocketBase::LastCount}{wxsocketbaselastcount}\\ | |
327 | \helpref{wxSocketBase::LastError}{wxsocketbaselasterror}\\ | |
328 | \helpref{wxSocketBase::ReadMsg}{wxsocketbasereadmsg} | |
329 | ||
330 | % | |
331 | % ReadMsg | |
332 | % | |
333 | \membersection{wxSocketBase::ReadMsg}\label{wxsocketbasereadmsg} | |
334 | ||
335 | \func{wxSocketBase\&}{ReadMsg}{\param{char *}{ buffer}, \param{wxUint32}{ nbytes}} | |
336 | ||
337 | This function reads a buffer sent by WriteMsg on a socket. If the buffer passed | |
338 | to the function isn't big enough, the function filled it and then discard the | |
339 | bytes left. This function always wait for the buffer to be entirely filled. | |
340 | ||
341 | \wxheading{Parameters} | |
342 | ||
343 | \docparam{buffer}{Buffer where to put read data.} | |
344 | ||
345 | \docparam{nbytes}{Number of bytes allocated for the buffer.} | |
346 | ||
347 | \wxheading{Return value} | |
348 | ||
349 | Returns a reference to the current object. | |
350 | ||
351 | \wxheading{See also} | |
352 | ||
353 | \helpref{wxSocketBase::Error}{wxsocketbaseerror}\\ | |
354 | \helpref{wxSocketBase::LastCount}{wxsocketbaselastcount}\\ | |
355 | \helpref{wxSocketBase::LastError}{wxsocketbaselasterror}\\ | |
356 | \helpref{wxSocketBase::WriteMsg}{wxsocketbasewritemsg} | |
357 | ||
358 | % | |
359 | % Unread | |
360 | % | |
361 | \membersection{wxSocketBase::Unread}\label{wxsocketbaseunread} | |
362 | ||
363 | \func{wxSocketBase\&}{Unread}{\param{const char *}{ buffer}, \param{wxUint32}{ nbytes}} | |
364 | ||
365 | This function unreads a buffer. It means that the buffer is put in the top | |
366 | of the incoming queue. But, it is put also at the end of all unread buffers. | |
367 | It is useful for sockets because we can't seek it. | |
368 | ||
369 | \wxheading{Parameters} | |
370 | ||
371 | \docparam{buffer}{Buffer to be unread.} | |
372 | ||
373 | \docparam{nbytes}{Number of bytes.} | |
374 | ||
375 | \wxheading{Return value} | |
376 | ||
377 | Returns a reference to the current object. | |
378 | ||
379 | \wxheading{See also} | |
380 | ||
381 | \helpref{wxSocketBase::Error}{wxsocketbaseerror}\\ | |
382 | \helpref{wxSocketBase::LastCount}{wxsocketbaselastcount}\\ | |
383 | \helpref{wxSocketBase::LastError}{wxsocketbaselasterror} | |
384 | ||
385 | % | |
386 | % Discard | |
387 | % | |
388 | \membersection{wxSocketBase::Discard}\label{wxsocketbasediscard} | |
389 | ||
390 | \func{wxSocketBase\&}{Discard}{\void} | |
391 | ||
392 | This function simply deletes all bytes in the incoming queue. This function | |
393 | doesn't wait. | |
394 | ||
395 | % --------------------------------------------------------------------------- | |
396 | % Wait functions | |
397 | % --------------------------------------------------------------------------- | |
398 | \membersection{wxSocketBase::Wait}\label{wxsocketbasewait} | |
399 | ||
400 | \func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 0}} | |
401 | ||
402 | This function waits for an event: it could be an incoming byte, the possibility | |
403 | for the client to write, a lost connection, an incoming connection, an | |
404 | established connection. | |
405 | ||
406 | \wxheading{Parameters} | |
407 | ||
408 | \docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.} | |
409 | ||
410 | \docparam{millisecond}{Number of milliseconds to wait.} | |
411 | ||
412 | \wxheading{Return value} | |
413 | ||
414 | Returns TRUE if an event occured, FALSE if the timeout was reached. | |
415 | ||
416 | \wxheading{See also} | |
417 | ||
418 | \helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread}\\ | |
419 | \helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite}\\ | |
420 | \helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost} | |
421 | ||
422 | % | |
423 | % WaitForRead | |
424 | % | |
425 | \membersection{wxSocketBase::WaitForRead}\label{wxsocketbasewaitforread} | |
426 | ||
427 | \func{bool}{WaitForRead}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 0}} | |
428 | ||
429 | This function waits for a read event. | |
430 | ||
431 | \wxheading{Parameters} | |
432 | ||
433 | \docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.} | |
434 | ||
435 | \docparam{millisecond}{Number of milliseconds to wait.} | |
436 | ||
437 | \wxheading{Return value} | |
438 | ||
439 | Returns TRUE if a byte arrived, FALSE if the timeout was reached. | |
440 | ||
441 | \wxheading{See also} | |
442 | ||
443 | \helpref{wxSocketBase::Wait}{wxsocketbasewait}\\ | |
444 | \helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite}\\ | |
445 | \helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost} | |
446 | ||
447 | % | |
448 | % WaitForWrite | |
449 | % | |
450 | \membersection{wxSocketBase::WaitForWrite}\label{wxsocketbasewaitforwrite} | |
451 | ||
452 | \func{bool}{WaitForWrite}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 0}} | |
453 | ||
454 | This function waits for a write event. | |
455 | ||
456 | \wxheading{Parameters} | |
457 | ||
458 | \docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.} | |
459 | ||
460 | \docparam{millisecond}{Number of milliseconds to wait.} | |
461 | ||
462 | \wxheading{Return value} | |
463 | ||
464 | Returns TRUE if a write event occured, FALSE if the timeout was reached. | |
465 | ||
466 | \wxheading{See also} | |
467 | ||
468 | \helpref{wxSocketBase::Wait}{wxsocketbasewait}\\ | |
469 | \helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread}\\ | |
470 | \helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost} | |
471 | ||
472 | % | |
473 | % WaitForLost | |
474 | % | |
475 | \membersection{wxSocketBase::WaitForLost}\label{wxsocketbasewaitforlost} | |
476 | ||
477 | \func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 0}} | |
478 | ||
479 | This function waits for a "lost" event. For instance, the peer may have closed | |
480 | the connection, or the connection may have been broken. | |
481 | ||
482 | \wxheading{Parameters} | |
483 | ||
484 | \docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.} | |
485 | ||
486 | \docparam{millisecond}{Number of milliseconds to wait.} | |
487 | ||
488 | \wxheading{Return value} | |
489 | ||
490 | Returns TRUE if a "lost" event occured, FALSE if the timeout was reached. | |
491 | ||
492 | \wxheading{See also} | |
493 | ||
494 | \helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread}\\ | |
495 | \helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite}\\ | |
496 | \helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost} | |
497 | ||
498 | % | |
499 | % RestoreState | |
500 | % | |
501 | \membersection{wxSocketBase::RestoreState}\label{wxsocketbaserestorestate} | |
502 | ||
503 | \func{void}{RestoreState}{\void} | |
504 | ||
505 | This function restores the previous state of the socket (include flags, | |
506 | notify flags, notify state, C callback function and data). | |
507 | ||
508 | \wxheading{See also} | |
509 | ||
510 | \helpref{wxSocketBase::SaveState}{wxsocketbasesavestate} | |
511 | ||
512 | % --------------------------------------------------------------------------- | |
513 | % Socket state | |
514 | % --------------------------------------------------------------------------- | |
515 | % | |
516 | % SaveState | |
517 | % | |
518 | \membersection{wxSocketBase::SaveState}\label{wxsocketbasesavestate} | |
519 | ||
520 | \func{void}{SaveState}{\void} | |
521 | ||
522 | This function saves the current state of the socket object in a stack: | |
523 | actually it saves all flags and the state of the asynchronous callbacks. | |
524 | ||
525 | \wxheading{See also} | |
526 | ||
527 | \helpref{wxSocketBase::RestoreState}{wxsocketbaserestorestate} | |
528 | ||
529 | % | |
530 | % GetLocal | |
531 | % | |
532 | \membersection{wxSocketBase::GetLocal}{wxsocketbasegetlocal} | |
533 | ||
534 | \constfunc{bool}{GetLocal}{\param{wxSockAddress\& }{addr_man}} | |
535 | ||
536 | This function returns the local address field of the socket. The local | |
537 | address field contains the complete local address of the socket (local | |
538 | address, local port, ...). | |
539 | ||
540 | \wxheading{Return value} | |
541 | ||
542 | It returns TRUE if no errors happened, FALSE otherwise. | |
543 | ||
544 | % | |
545 | % GetPeer | |
546 | % | |
547 | \membersection{wxSocketBase::GetPeer}{wxsocketbasegetlocal} | |
548 | ||
549 | \constfunc{bool}{GetPeer}{\param{wxSockAddress\& }{addr_man}} | |
550 | ||
551 | This function returns the peer address field of the socket. The peer | |
552 | address field contains the complete peer host address of the socket | |
553 | (address, port, ...). | |
554 | ||
555 | \wxheading{Return value} | |
556 | ||
557 | It returns TRUE if no errors happened, FALSE otherwise. | |
558 | ||
559 | % --------------------------------------------------------------------------- | |
560 | % Socket callbacks | |
561 | % --------------------------------------------------------------------------- | |
562 | \membersection{wxSocketBase::SetEventHandler}\label{wxsocketbaseseteventhandler} | |
563 | ||
564 | \func{void}{SetEventHandler}{\param{wxEvtHandler\&}{ evt\_hdlr}, \param{int}{ id = -1}} | |
565 | ||
566 | Sets an event handler to be called when a socket event occured. | |
567 | ||
568 | \wxheading{Parameters} | |
569 | ||
570 | \docparam{evt\_hdlr}{Specifies the event handler you want to use.} | |
571 | ||
572 | \docparam{id}{The id of socket event.} | |
573 | ||
574 | \wxheading{See also} | |
575 | ||
576 | \helpref{wxSocketBase::SetNotify}{wxsocketbasesetnotify} | |
577 | \helpref{wxSocketBase::Notify}{wxsocketbasenotify} | |
578 | \helpref{wxSocketEvent}{wxsocketevent} | |
579 | \helpref{wxEvtHandler}{wxevthandler} | |
580 | ||
581 | \membersection{wxSocketBase::Callback}\label{wxsocketbasecallback} | |
582 | ||
583 | \func{wxSocketBase::wxSockCbk}{Callback}{\param{wxSocketBase::wxSockCbk}{ callback}} | |
584 | ||
585 | wxSocket event handler can call C callback. This function allows you to set it. | |
586 | The format of the callback is as followed: | |
587 | \begin{verbatim} | |
588 | void SocketCallback(wxSocketBase& sock,wxSocketNotify evt,char *cdata); | |
589 | \end{verbatim} | |
590 | ||
591 | The first parameter reminds you of the caller socket. The second parameter | |
592 | informs you about the current event (See \helpref{wxSocket events}{wxsocketbase}). | |
593 | The third parameters is the client data you specified using \helpref{CallbackData}{wxsocketcallbackdata}. | |
594 | ||
595 | \wxheading{Return value} | |
596 | ||
597 | It returns the previous callback. | |
598 | ||
599 | \wxheading{See also} | |
600 | ||
601 | \helpref{wxSocketBase::SetNotify}{wxsocketbasesetnotify} | |
602 | \helpref{wxSocketBase::Notify}{wxsocketbasenotify} | |
603 | ||
604 | \membersection{wxSocketBase::CallbackData}\label{wxsocketcallbackdata} | |
605 | ||
606 | \func{char *}{CallbackData}{\param{char *}{cdata}} | |
607 | ||
608 | This function sets the the client data which will be passed to a \helpref{C callback}{wxsocketbasecallback}. | |
609 | ||
610 | \wxheading{Return value} | |
611 | ||
612 | This function returns the old value of the client data pointer. | |
613 | ||
614 | % --------------------------------------------------------------------------- | |
615 | % CLASS wxSocketClient | |
616 | % --------------------------------------------------------------------------- | |
617 | \section{\class{wxSocketClient}}\label{wxsocketclient} | |
618 | ||
619 | \wxheading{Derived from} | |
620 | ||
621 | \helpref{wxSocketBase}{wxsocketbase} | |
622 | ||
623 | \wxheading{Include files} | |
624 | ||
625 | <wx/socket.h> | |
626 | ||
627 | % --------------------------------------------------------------------------- | |
628 | % Members | |
629 | % --------------------------------------------------------------------------- | |
630 | % | |
631 | % wxSocketClient | |
632 | % | |
633 | \membersection{wxSocketClient::wxSocketClient} | |
634 | ||
635 | \func{}{wxSocketClient}{\param{wxSockFlags}{ flags = wxSocketBase::NONE}} | |
636 | ||
637 | Constructs a new wxSocketClient. | |
638 | ||
639 | \wxheading{Parameters} | |
640 | ||
641 | \docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})} | |
642 | ||
643 | % | |
644 | % ~wxSocketClient | |
645 | % | |
646 | \membersection{wxSocketClient::\destruct{wxSocketClient}} | |
647 | ||
648 | \func{}{\destruct{wxSocketClient}}{\void} | |
649 | ||
650 | Destroys a wxSocketClient object. | |
651 | ||
652 | % | |
653 | % Connect | |
654 | % | |
655 | \membersection{wxSocketClient::Connect}\label{wxsocketclientconnect} | |
656 | ||
657 | \func{bool}{Connect}{\param{wxSockAddress\&}{ address}, \param{bool}{ wait = TRUE}} | |
658 | ||
659 | Connects to a server using the specified address. If {\it wait} is TRUE, Connect | |
660 | will wait for the socket ready to send or receive data. | |
661 | ||
662 | \wxheading{Parameters} | |
663 | ||
664 | \docparam{address}{Address of the server.} | |
665 | ||
666 | \docparam{wait}{If true, waits for the connection to be ready.} | |
667 | ||
668 | \wxheading{Return value} | |
669 | ||
670 | Returns TRUE if the connection is established and no error occurs. | |
671 | ||
672 | \wxheading{See also} | |
673 | ||
674 | \helpref{wxSocketClient::WaitOnConnect}{wxsocketclientwaitonconnect} | |
675 | ||
676 | % | |
677 | % WaitOnConnect | |
678 | % | |
679 | \membersection{wxSocketClient::WaitOnConnect}\label{wxsocketclientwaitonconnect} | |
680 | ||
681 | \func{bool}{WaitOnConnect}{\param{long}{ seconds = -1}, \param{long}{ milliseconds = 0}} | |
682 | ||
683 | Wait for a "connect" event. | |
684 | ||
685 | \wxheading{See also} | |
686 | ||
687 | \helpref{wxSocketBase::Wait}{wxsocketbasewait} for a detailed description. | |
688 | ||
689 | % --------------------------------------------------------------------------- | |
690 | % CLASS: wxSocketEvent | |
691 | % --------------------------------------------------------------------------- | |
692 | \section{\class{wxSocketEvent}}\label{wxsocketevent} | |
693 | ||
694 | This event class contains information about socket events. | |
695 | ||
696 | \wxheading{Derived from} | |
697 | ||
698 | \helpref{wxEvent}{wxevent} | |
699 | ||
700 | \wxheading{Include files} | |
701 | ||
702 | <wx/socket.h> | |
703 | ||
704 | \wxheading{Event table macros} | |
705 | ||
706 | To process a socket event, use these event handler macros to direct input to member | |
707 | functions that take a wxSocketEvent argument. | |
708 | ||
709 | \twocolwidtha{7cm} | |
710 | \begin{twocollist}\itemsep=0pt | |
711 | \twocolitem{{\bf EVT\_SOCKET(id, func)}}{Process a socket event, supplying the member function.} | |
712 | \end{twocollist}% | |
713 | ||
714 | \wxheading{See also} | |
715 | ||
716 | \helpref{wxSocketBase}{wxsocketbase},\rtfsp | |
717 | \helpref{wxSocketClient}{wxsocketclient},\rtfsp | |
718 | \helpref{wxSocketServer}{wxsocketserver} | |
719 | ||
720 | \latexignore{\rtfignore{\wxheading{Members}}} | |
721 | ||
722 | \membersection{wxSocketEvent::wxSocketEvent} | |
723 | ||
724 | \func{}{wxSocketEvent}{\param{int}{ id = 0}} | |
725 | ||
726 | Constructor. | |
727 | ||
728 | \membersection{wxSocketEvent::SocketEvent}\label{wxsocketeventsocketevent} | |
729 | ||
730 | \constfunc{wxSocketNotify}{SocketEvent}{\void} | |
731 | ||
732 | Returns the socket event type. | |
733 | ||
734 | % --------------------------------------------------------------------------- | |
735 | % CLASS: wxSocketServer | |
736 | % --------------------------------------------------------------------------- | |
737 | \section{\class{wxSocketServer}}\label{wxsocketserver} | |
738 | ||
739 | \wxheading{Derived from} | |
740 | ||
741 | \helpref{wxSocketBase}{wxsocketbase} | |
742 | ||
743 | \wxheading{Include files} | |
744 | ||
745 | <wx/socket.h> | |
746 | ||
747 | % --------------------------------------------------------------------------- | |
748 | % Members | |
749 | % --------------------------------------------------------------------------- | |
750 | \latexignore{\rtfignore{\wxheading{Members}}} | |
751 | ||
752 | % | |
753 | % wxSocketServer | |
754 | % | |
755 | \membersection{wxSocketServer::wxSocketServer}\label{wxsocketserverconstr} | |
756 | ||
757 | \func{}{wxSocketServer}{\param{wxSockAddress\&}{ address}, \param{wxSockFlags}{ flags = wxSocketBase::NONE}} | |
758 | ||
759 | Constructs a new wxSocketServer. | |
760 | ||
761 | \wxheading{Parameters} | |
762 | ||
763 | \docparam{address}{Specifies the local address for the server (e.g. port number).} | |
764 | ||
765 | \docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})} | |
766 | ||
767 | % | |
768 | % ~wxSocketServer | |
769 | % | |
770 | \membersection{wxSocketServer::\destruct{wxSocketServer}} | |
771 | ||
772 | \func{}{\destruct{wxSocketServer}}{\void} | |
773 | ||
774 | Destroys a wxSocketServer object (it doesn't close the accepted connection). | |
775 | ||
776 | % | |
777 | % Accept | |
778 | % | |
779 | \membersection{wxSocketServer::Accept} | |
780 | ||
781 | \func{wxSocketBase *}{Accept}{\void} | |
782 | ||
783 | Creates a new object wxSocketBase and accepts an incoming connection. {\bf Warning !} This function will block the GUI. | |
784 | ||
785 | \wxheading{Return value} | |
786 | ||
787 | Returns an opened socket connection. | |
788 | ||
789 | \wxheading{See also} | |
790 | ||
791 | \helpref{wxSocketServer::AcceptWith}{wxsocketserveracceptwith} | |
792 | ||
793 | % | |
794 | % AcceptWith | |
795 | % | |
796 | \membersection{wxSocketServer::AcceptWith}\label{wxsocketserveracceptwith} | |
797 | ||
798 | \func{bool}{AcceptWith}{\param{wxSocketBase\&}{ socket}} | |
799 | ||
800 | Accept an incoming connection using the specified socket object. | |
801 | This is useful when someone wants to inherit wxSocketBase. | |
802 | ||
803 | \wxheading{Parameters} | |
804 | ||
805 | \docparam{socket}{Socket to be initialized} | |
806 | ||
807 | \wxheading{Return value} | |
808 | ||
809 | Returns TRUE if no error occurs, else FALSE. | |
810 |