File: tapi-128.htm

package info (click to toggle)
aolserver 3.4.2-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 22,692 kB
  • ctags: 33,612
  • sloc: ansic: 171,340; tcl: 10,218; sh: 3,821; cpp: 2,779; makefile: 2,041; yacc: 1,648; perl: 456; php: 13
file content (105 lines) | stat: -rw-r--r-- 3,428 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
<HTML><HEAD>
<TITLE>Tcl API Reference -- ns_sockcallback</TITLE>
<LINK rel=Previous href="tapi-127.htm">
<LINK rel=ToC href="toc.htm">
<LINK rel=Index href="master.htm">
<LINK rel=Next href="tapi-129.htm">
</HEAD><BODY BGCOLOR="#ffffff"><A NAME="topofpage"></A>
<TABLE WIDTH=100%>
  <TR>
    <TD ALIGN=LEFT>
      <A NAME="topofpage"></A> <IMG  SRC="as-c-sm.gif">
    </TD>
    <TD ALIGN=RIGHT>
      <A href="tapi-127.htm"><IMG  BORDER="0" src=navbprev.gif alt="[ Previous ]"></A>
      <A href=toc.htm> <IMG  BORDER="0" src=navbhome.gif alt="[ Contents ]"></A>
      <A href=master.htm> <IMG  BORDER="0" src=navbhelp.gif alt="[ Index ]"></A>
      <A href="tapi-129.htm"> <IMG  BORDER="0" src=navbnext.gif alt="[ Next ]"></A>
      <A name="7983"> </A>
    </TD>
  </TR>
</TABLE>

<a name="82176">
</a><h3>ns_sockcallback</h3>
<a name="82177">
</a><h4>Overview</h4>
<p><a name="82178">
</a>Register a socket callback script</p>
<a name="82179">
</a><h4>Syntax</h4>
<p><a name="82180">
</a><b>ns_sockcallback</b> <i>sockid script when</i></p>
<a name="82181">
</a><h4>Description</h4>
<p><a name="82182">
</a><b>ns_sockcallback</b> registers a socket callback script. The <i>script </i>should accept the arguments <i>sockid</i> and <i>when.</i> The script will be called according to the value of the <i>when</i> argument as follows:<Table Border = "3">
<tr><th><p><a name="82185">
</a><b>Value of </b><i>when</i><b>:</b></p>
<th><p><a name="82187">
</a><b>Condition under which the script will be called:</b></p>

<tr><td><p><a name="82189">
</a>r</p>
<td><p><a name="82191">
</a>the socket is readable</p>

<tr><td><p><a name="82193">
</a>w</p>
<td><p><a name="82195">
</a>the socket is writeable</p>

<tr><td><p><a name="82197">
</a>e</p>
<td><p><a name="82199">
</a>the socket has an exceptional condition</p>

<tr><td><p><a name="82201">
</a>x</p>
<td><p><a name="82203">
</a>the server is shutting down</p>


</Table></p>
<a name="82204">
</a><h4>Example</h4>
<pre>    <a name="82205"></a>set sock [ns_socklisten * 9000]
    <a name="82206"></a>ns_sockcallback $sock newconn r
    <a name="82207"></a># Keep $sock from closing after connection ends
    <a name="82208"></a>detach $sock
    <a name="82209"></a># When a connection arrives, newconn will be called as:
    <a name="82210"></a># newconn $sock r
    <a name="82211"></a>proc newconn {sock when} {
<pre>    <a name="87055"></a>set fds [ns_sockaccept $sock]
    <a name="87056"></a>set rfd [lindex $fds 0]
    <a name="87057"></a>set wfd [lindex $fds 1]
    <a name="87059"></a>puts $wfd "Hello!"
    <a name="87061"></a>close $rfd
    <a name="87062"></a>close $wfd
</pre><p>    <a name="82215"></a>}
</pre><p><a name="82216">
</a><h4>See Also</h4>
<p><a name="82220">
</a>Ns_SockCallback</p>


<TABLE BORDER="2" CELLPADDING="1" width="100%">
<TR><TD COLSPAN=3><P ALIGN=Center>
<IMG SRC="bluebult.gif">
<A HREF="#topofpage">
<FONT SIZE=-1>Top of Page</FONT></A>
<IMG SRC="bluebult.gif">
</TD></TR>
<TR><TD COLSPAN=3><P ALIGN=Center>
<A href="tapi-127.htm">
<IMG  BORDER="0" src=navbprev.gif alt="[ Previous ]"></A>
<A href=toc.htm>
<IMG  BORDER="0" src=navbhome.gif alt="[ Contents ]"></A>
<A href=master.htm>
<IMG  BORDER="0" src=navbhelp.gif alt="[ Index ]"></A>
<A href="tapi-129.htm">
<IMG  BORDER="0" src=navbnext.gif alt="[ Next ]"></A>
<BR align=center>
<FONT size=-1>Copyright &copy; 1998-99 America Online,
Inc.</FONT>
</TD></TR></TABLE></BODY></HTML>