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