<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=SOCKETCLOSE%2Fde</id>
		<title>SOCKETCLOSE/de - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=SOCKETCLOSE%2Fde"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=SOCKETCLOSE/de&amp;action=history"/>
		<updated>2026-04-07T14:43:29Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=SOCKETCLOSE/de&amp;diff=2705&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=SOCKETCLOSE/de&amp;diff=2705&amp;oldid=prev"/>
				<updated>2013-02-15T19:16:05Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:16, 15 February 2013&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=SOCKETCLOSE/de&amp;diff=2704&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Closes a socket connection.  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  = &lt;spa...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=SOCKETCLOSE/de&amp;diff=2704&amp;oldid=prev"/>
				<updated>2013-02-12T17:04:20Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  Closes a socket connection.  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  = &amp;lt;spa...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== (**COPIED FROM ENGLISH PAGE**) === &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Closes a socket connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;SOCKETCLOSE&amp;lt;/span&amp;gt;&amp;amp;nbsp;socket [ , prm]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 81px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Socket&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 519px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The socket number you want to close in the range of 0-3 (0-7 for W5200/W5300). When the socket is already closed, no action will be performed.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 81px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Prm&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 519px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
An optional parameter to change the behavior of the CloseSocket statement.&lt;br /&gt;
&lt;br /&gt;
The following values are possible&amp;amp;nbsp;:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 11px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| 0 - The code will behave as if no parameter has been set.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 11px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| 1 - In normal cases, there is a test to see if all data written to the chip has been sent. When you set bit 0 (value of 1) , this test is not performed.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 11px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| 2 - In normal cases, there is a test to see if the socket is actually closed after the command has been given to the chip. When it is not closed, you can not re-use the socket. The statement will block program execution however and you could test at a later time if the connection has been closed.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may combine the values. So 3 will combine parameter value 1 and 2.&lt;br /&gt;
&lt;br /&gt;
It is advised to use option value 1 with care.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You must close a socket when you receive the SOCK_CLOSE_WAIT status.&lt;br /&gt;
&lt;br /&gt;
You may also close a socket if that is needed by your protocol.&lt;br /&gt;
&lt;br /&gt;
You will receive a SOCK_CLOSE_WAIT status when the server closes the connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you use CloseSocket you actively close the connection.&lt;br /&gt;
&lt;br /&gt;
Note that it is not needed to wait for a SOCK_CLOSE_WAIT message in order to close a socket connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have closed the connection, you need to use GetSocket in order to use the socket number again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In normal conditions, without using the optional parameter, the statement can block your code for a short or longer time, depending on the connection speed.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The CLOSESOCKET statement is equivalent with SOCKETCLOSE.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[CONFIG TCPIP]], [[GETSOCKET]] , [[SOCKETCONNECT]], [[SOCKETSTAT]] , [[TCPWRITE]], [[TCPWRITESTR]], [[TCPREAD]], [[SOCKETLISTEN]] ,[[SOCKETDISCONNECT]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : clienttest.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : start the easytcp.exe program and listen to port 5000&lt;br /&gt;
'micro : Mega161&lt;br /&gt;
'suited for demo : no&lt;br /&gt;
'commercial addon needed : yes&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;M161def.dat&amp;quot;&lt;br /&gt;
$crystal = 4000000&lt;br /&gt;
$baud = 19200&lt;br /&gt;
$hwstack = 40 ' default use 40 for the hardware stack&lt;br /&gt;
$swstack = 40 ' default use 40 for the SW stack&lt;br /&gt;
$framesize = 64 ' default use64 for the frame space&lt;br /&gt;
 &lt;br /&gt;
Const Sock_stream = $01 ' Tcp&lt;br /&gt;
Const Sock_dgram = $02 ' Udp&lt;br /&gt;
Const Sock_ipl_raw = $03 ' Ip Layer Raw Sock&lt;br /&gt;
Const Sock_macl_raw = $04 ' Mac Layer Raw Sock&lt;br /&gt;
Const Sel_control = 0 ' Confirm Socket Status&lt;br /&gt;
Const Sel_send = 1 ' Confirm Tx Free Buffer Size&lt;br /&gt;
Const Sel_recv = 2 ' Confirm Rx Data Size&lt;br /&gt;
 &lt;br /&gt;
'socket status&lt;br /&gt;
Const Sock_closed = $00 ' Status Of Connection Closed&lt;br /&gt;
Const Sock_arp = $01 ' Status Of Arp&lt;br /&gt;
Const Sock_listen = $02 ' Status Of Waiting For Tcp Connection Setup&lt;br /&gt;
Const Sock_synsent = $03 ' Status Of Setting Up Tcp Connection&lt;br /&gt;
Const Sock_synsent_ack = $04 ' Status Of Setting Up Tcp Connection&lt;br /&gt;
Const Sock_synrecv = $05 ' Status Of Setting Up Tcp Connection&lt;br /&gt;
Const Sock_established = $06 ' Status Of Tcp Connection Established&lt;br /&gt;
Const Sock_close_wait = $07 ' Status Of Closing Tcp Connection&lt;br /&gt;
Const Sock_last_ack = $08 ' Status Of Closing Tcp Connection&lt;br /&gt;
Const Sock_fin_wait1 = $09 ' Status Of Closing Tcp Connection&lt;br /&gt;
Const Sock_fin_wait2 = $0a ' Status Of Closing Tcp Connection&lt;br /&gt;
Const Sock_closing = $0b ' Status Of Closing Tcp Connection&lt;br /&gt;
Const Sock_time_wait = $0c ' Status Of Closing Tcp Connection&lt;br /&gt;
Const Sock_reset = $0d ' Status Of Closing Tcp Connection&lt;br /&gt;
Const Sock_init = $0e ' Status Of Socket Initialization&lt;br /&gt;
Const Sock_udp = $0f ' Status Of Udp&lt;br /&gt;
Const Sock_raw = $10 ' Status of IP RAW&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
$lib &amp;quot;tcpip.lbx&amp;quot; ' specify the tcpip library&lt;br /&gt;
Print &amp;quot;Init , set IP to 192.168.0.8&amp;quot; ' display a message&lt;br /&gt;
Enable Interrupts ' before we use config tcpip , we need to enable the interrupts&lt;br /&gt;
Config Tcpip = Int0 , Mac = 12.128.12.34.56.78 , Ip = 192.168.0.8 , Submask = 255.255.255.0 , Gateway = 0.0.0.0 , Localport = 1000 , Tx = $55 , Rx = $55&lt;br /&gt;
 &lt;br /&gt;
'Use the line below if you have a gate way&lt;br /&gt;
'Config Tcpip = Int0 , Mac = 12.128.12.34.56.78 , Ip = 192.168.0.8 , Submask = 255.255.255.0 , Gateway = 192.168.0.1 , Localport = 1000 , Tx = $55 , Rx = $55&lt;br /&gt;
 &lt;br /&gt;
Dim Bclient As Byte ' socket number&lt;br /&gt;
Dim Idx As Byte&lt;br /&gt;
Dim Result As Word ' result&lt;br /&gt;
Dim S As String * 80&lt;br /&gt;
 &lt;br /&gt;
For Idx = 0 To 3 ' for all sockets&lt;br /&gt;
Bclient = Getsocket(idx , Sock_stream , 0 , 0) ' get socket for client mode, specify port 0 so loal_port is used&lt;br /&gt;
Print &amp;quot;Local port : &amp;quot; ; Local_port ' print local port that was used&lt;br /&gt;
Print &amp;quot;Socket &amp;quot; ; Idx ; &amp;quot; &amp;quot; ; Bclient&lt;br /&gt;
Result = Socketconnect(idx , 192.168.0.3 , 5000) ' connect to easytcpip.exe server&lt;br /&gt;
Print &amp;quot;Result &amp;quot; ; Result&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
 &lt;br /&gt;
If Ischarwaiting() &amp;lt;&amp;gt; 0 Then ' is there a key waiting in the uart?&lt;br /&gt;
 Bclient = Waitkey() ' get the key&lt;br /&gt;
 If Bclient = 27 Then&lt;br /&gt;
 Input &amp;quot;Enter string to send &amp;quot; , S ' send WHO , TIME or EXIT&lt;br /&gt;
 For Idx = 0 To 3&lt;br /&gt;
 Result = Tcpwritestr(idx , S , 255)&lt;br /&gt;
 Next&lt;br /&gt;
 End If&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
For Idx = 0 To 3&lt;br /&gt;
 Result = Socketstat(idx , 0) ' get status&lt;br /&gt;
 Select Case Result&lt;br /&gt;
 Case Sock_established&lt;br /&gt;
 Result = Socketstat(idx , Sel_recv) ' get number of bytes waiting&lt;br /&gt;
 If Result &amp;gt; 0 Then&lt;br /&gt;
 Do&lt;br /&gt;
 Result = Tcpread(idx , S)&lt;br /&gt;
 Print &amp;quot;Data from server: &amp;quot; ; Idx ; &amp;quot; &amp;quot; ; S&lt;br /&gt;
 Loop Until Result = 0&lt;br /&gt;
 End If&lt;br /&gt;
 Case Sock_close_wait&lt;br /&gt;
 Print &amp;quot;close_wait&amp;quot;&lt;br /&gt;
 Closesocket Idx&lt;br /&gt;
 Case Sock_closed&lt;br /&gt;
 'Print &amp;quot;closed&amp;quot;&lt;br /&gt;
 End Select&lt;br /&gt;
Next&lt;br /&gt;
Loop&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>