<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=%24Sock_Recv</id>
	<title>$Sock Recv - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=%24Sock_Recv"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;action=history"/>
	<updated>2026-04-17T02:26:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=116965&amp;oldid=prev</id>
		<title>JALWiccan: Automatically generated page update</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=116965&amp;oldid=prev"/>
		<updated>2018-09-21T00:00:34Z</updated>

		<summary type="html">&lt;p&gt;Automatically generated page update&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:00, 21 September 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{DISPLAYTITLE:$Sock_Recv}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{DISPLAYTITLE:$Sock_Recv}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;pageSubtitle&amp;quot;&amp;gt;Receive string based on count&amp;lt;/span&amp;gt;                             &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;pageSubtitle&amp;quot;&amp;gt;Receive string based on count&amp;lt;/span&amp;gt;                             &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&quot;warn&quot;&amp;gt;&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Most Sirius &lt;/del&gt;$functions have been deprecated in favor of Object Oriented  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&quot;warn&quot;&amp;gt;&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Many &lt;/ins&gt;$functions have been deprecated in favor of Object Oriented  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;methods. The OO equivalent for &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; is the &amp;lt;var&amp;gt;[[Receive (Socket function)|Receive]]&amp;lt;/var&amp;gt; method.&amp;lt;/p&amp;gt;                 &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;methods. The OO equivalent for &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; is the &amp;lt;var&amp;gt;[[Receive (Socket function)|Receive]]&amp;lt;/var&amp;gt; method.&amp;lt;/p&amp;gt;                 &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JALWiccan</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=65530&amp;oldid=prev</id>
		<title>JAL at 23:44, 22 October 2013</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=65530&amp;oldid=prev"/>
		<updated>2013-10-22T23:44:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;amp;diff=65530&amp;amp;oldid=61562&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>JAL</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=61562&amp;oldid=prev</id>
		<title>JAL at 21:50, 23 July 2013</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=61562&amp;oldid=prev"/>
		<updated>2013-07-23T21:50:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:50, 23 July 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;pageSubtitle&amp;quot;&amp;gt;Receive string based on count&amp;lt;/span&amp;gt;                             &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;pageSubtitle&amp;quot;&amp;gt;Receive string based on count&amp;lt;/span&amp;gt;                             &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&amp;quot;warn&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;Most Sirius $functions have been deprecated in favor of Object Oriented  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&amp;quot;warn&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;Most Sirius $functions have been deprecated in favor of Object Oriented  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;methods. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There is currently no direct &lt;/del&gt;OO equivalent for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;this &lt;/del&gt;$function.&amp;lt;/p&amp;gt;                 &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;methods. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The &lt;/ins&gt;OO equivalent for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;var&amp;gt;&lt;/ins&gt;$&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sock_Recv&amp;lt;/var&amp;gt; is the &amp;lt;var&amp;gt;[[Receive (Socket &lt;/ins&gt;function&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)|Receive]]&amp;lt;/var&amp;gt; method&lt;/ins&gt;.&amp;lt;/p&amp;gt;                 &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; receives a string of bytes on a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Janus Sockets&amp;lt;/var&amp;gt; connection, typically&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; receives a string of bytes on a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Janus Sockets&amp;lt;/var&amp;gt; connection, typically&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JAL</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=61426&amp;oldid=prev</id>
		<title>JALWiccan: Automatically generated page update</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=61426&amp;oldid=prev"/>
		<updated>2013-07-19T18:59:26Z</updated>

		<summary type="html">&lt;p&gt;Automatically generated page update&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:59, 19 July 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{DISPLAYTITLE:$Sock_Recv}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{DISPLAYTITLE:$Sock_Recv}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;pageSubtitle&amp;quot;&amp;gt;Receive string based on count&amp;lt;/span&amp;gt;                             &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;pageSubtitle&amp;quot;&amp;gt;Receive string based on count&amp;lt;/span&amp;gt;                             &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;warning&lt;/del&gt;&quot;&amp;gt;Most Sirius $functions have been deprecated in favor of Object Oriented  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;warn&lt;/ins&gt;&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;b&amp;gt;Note: &amp;lt;/b&lt;/ins&gt;&amp;gt;Most Sirius $functions have been deprecated in favor of Object Oriented  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;methods. There is currently no direct OO equivalent for this $function.&amp;lt;/p&amp;gt;                 &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;methods. There is currently no direct OO equivalent for this $function.&amp;lt;/p&amp;gt;                 &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JALWiccan</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=49897&amp;oldid=prev</id>
		<title>JAL2 at 03:32, 20 January 2012</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=49897&amp;oldid=prev"/>
		<updated>2012-01-20T03:32:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:32, 20 January 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Syntax==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Syntax==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&quot;syntax&quot;&amp;gt;&amp;lt;span class=&quot;squareb&quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;term&quot;&amp;gt;%num&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt; =&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;squareb&quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt; $Sock_Recv(&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;term&quot;&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sockno&lt;/del&gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt;,&amp;lt;/span&amp;gt; &amp;lt;span class=&quot;term&quot;&amp;gt;%recv_targ&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt;,&amp;lt;/span&amp;gt; &amp;lt;span class=&quot;squareb&quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;term&quot;&amp;gt;opts&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;squareb&quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt;)&amp;lt;/span&amp;gt; &amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&quot;syntax&quot;&amp;gt;&amp;lt;span class=&quot;squareb&quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;term&quot;&amp;gt;%num&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt; =&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;squareb&quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt; $Sock_Recv(&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;term&quot;&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sockNum&lt;/ins&gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt;,&amp;lt;/span&amp;gt; &amp;lt;span class=&quot;term&quot;&amp;gt;%recv_targ&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt;,&amp;lt;/span&amp;gt; &amp;lt;span class=&quot;squareb&quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;term&quot;&amp;gt;opts&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;squareb&quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;span class=&quot;literal&quot;&amp;gt;)&amp;lt;/span&amp;gt; &amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Syntax terms===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Syntax terms===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%num&amp;lt;/th&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%num&amp;lt;/th&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;A numeric value that is the number of bytes received, or, if the operation could not be performed as requested, a 0 value. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;/del&gt;For more details, see [[#$Sock_Recv return values|&quot;$Sock_Recv return values&quot;]]. &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sockno&lt;/del&gt;&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;The socket number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%recv_targ&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;A %variable or an &amp;lt;var&amp;gt;IMAGE&amp;lt;/var&amp;gt; item (and &#039;&#039;&#039;never&#039;&#039;&#039; a &amp;lt;var class=&quot;product&quot;&amp;gt;[[Janus SOAP User Language Interface|Janus SOAP ULI]]&amp;lt;/var&amp;gt; class variable). This argument is the target of the receive operation, and is referred to as the &quot;receive target.&quot; You may request that some bytes from the socket stream can be discarded, so the length of the string stored in this target may be less than the value returned by &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt;. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;maxbytes&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This optional argument, the maximum number of bytes of data to receive, must be from 0 to 2,147,483,647. The default is 0, which means limit the received data to the larger of the value of the &amp;lt;var class=&quot;term&quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; argument and the declared length of the receive target.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;A numeric value that is the number of bytes received, or, if the operation could not be performed as requested, a 0 value. For more details, see [[#$Sock_Recv return values|&quot;$Sock_Recv return values&quot;]]. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Under &amp;lt;var class=&quot;product&quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; version 6.3 and later, if this argument is 0 and the receive argument is a &amp;lt;var&amp;gt;Longstring&amp;lt;/var&amp;gt;, the received data is limited to 2,147,483,647 bytes. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;minbytes&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This optional argument is the minimum number of bytes of data to receive before the operation completes, unless the input stream ends (a close operation by the remote) or &amp;lt;code&amp;gt;RECVLIM&amp;lt;/code&amp;gt; is encountered. The argument only needs to be specified for a variable length receive, which is fairly unusual.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sockNum&lt;/ins&gt;&amp;lt;/th&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The default is 0, which means use the effective value of the &amp;lt;var class=&quot;term&quot;&amp;gt;maxbytes&amp;lt;/var&amp;gt; argument. Valid values must be from 0 to 2,147,483,647, and must not exceed the effective value of &amp;lt;var class=&quot;term&quot;&amp;gt;maxbytes&amp;lt;/var&amp;gt;. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;opts&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This optional argument is an option string which can contain any of the following: &amp;lt;table class=&quot;syntaxTable&quot;&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;BINARY&amp;lt;/var&amp;gt; &amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This indicates that regardless of the socket&#039;s &amp;lt;var&amp;gt;[[BINARY (JANUS DEFINE parameter)|BINARY]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[CHAR (JANUS DEFINE parameter)|CHAR]]&amp;lt;/var&amp;gt; parameter, data &#039;&#039;&#039;is not translated&#039;&#039;&#039; when saved in the receive target. The received string &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;CHAR&amp;lt;/var&amp;gt; &amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This indicates that regardless of the socket&#039;s &amp;lt;var&amp;gt;[[BINARY (JANUS DEFINE parameter)|BINARY]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[CHAR (JANUS DEFINE parameter)|CHAR]]&amp;lt;/var&amp;gt; parameter, data &#039;&#039;&#039;is translated&#039;&#039;&#039; when saved in the receive target. The translation is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;speci&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;The socket number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%recv_targ&amp;lt;/th&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;A %variable or an &amp;lt;var&amp;gt;IMAGE&amp;lt;/var&amp;gt; item (and &#039;&#039;&#039;never&#039;&#039;&#039; a &amp;lt;var class=&quot;product&quot;&amp;gt;[[Janus SOAP User Language Interface|Janus SOAP ULI]]&amp;lt;/var&amp;gt; class variable). This argument is the target of the receive operation, and is referred to as the &quot;receive target.&quot; You may request that some bytes from the socket stream can be discarded, so the length of the string stored in this target may be less than the value returned by &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt;. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;maxbytes&amp;lt;/th&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;This optional argument, the maximum number of bytes of data to receive, must be from 0 to 2,147,483,647. The default is 0, which means limit the received data to the larger of the value of the &amp;lt;var class=&quot;term&quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; argument and the declared length of the receive target.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;p&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Under &amp;lt;var class=&quot;product&quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; version 6.3 and later, if this argument is 0 and the receive argument is a &amp;lt;var&amp;gt;Longstring&amp;lt;/var&amp;gt;, the received data is limited to 2,147,483,647 bytes. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/p&amp;gt;&lt;/ins&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;minbytes&amp;lt;/th&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;This optional argument is the minimum number of bytes of data to receive before the operation completes, unless the input stream ends (a close operation by the remote) or &amp;lt;code&amp;gt;RECVLIM&amp;lt;/code&amp;gt; is encountered. The argument only needs to be specified for a variable length receive, which is fairly unusual.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;p&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The default is 0, which means use the effective value of the &amp;lt;var class=&quot;term&quot;&amp;gt;maxbytes&amp;lt;/var&amp;gt; argument. Valid values must be from 0 to 2,147,483,647, and must not exceed the effective value of &amp;lt;var class=&quot;term&quot;&amp;gt;maxbytes&amp;lt;/var&amp;gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/p&amp;gt;&lt;/ins&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;opts&amp;lt;/th&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;This optional argument is an option string which can contain any of the following:  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;table class=&quot;syntaxTable&quot;&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;BINARY&amp;lt;/var&amp;gt; &amp;lt;/th&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;This indicates that regardless of the socket&#039;s &amp;lt;var&amp;gt;[[BINARY (JANUS DEFINE parameter)|BINARY]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[CHAR (JANUS DEFINE parameter)|CHAR]]&amp;lt;/var&amp;gt; parameter, data &#039;&#039;&#039;is not translated&#039;&#039;&#039; when saved in the receive target. The received string &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can be translated later in the program using the &amp;lt;var&amp;gt;[[$Sock_Tran_In]]&amp;lt;/var&amp;gt; function. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;CHAR&amp;lt;/var&amp;gt; &amp;lt;/th&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;td&amp;gt;This indicates that regardless of the socket&#039;s &amp;lt;var&amp;gt;[[BINARY (JANUS DEFINE parameter)|BINARY]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[CHAR (JANUS DEFINE parameter)|CHAR]]&amp;lt;/var&amp;gt; parameter, data &#039;&#039;&#039;is translated&#039;&#039;&#039; when saved in the receive target. The translation is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;specified by the input table defined by the socket&#039;s &amp;lt;var&amp;gt;[[XTAB (JANUS DEFINE parameter)|XTAB]]&amp;lt;/var&amp;gt; parameter. &lt;/ins&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;var&amp;gt;&lt;/del&gt;$Sock_Recv&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/var&amp;gt; &lt;/del&gt;return values===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===$Sock_Recv return values===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;ul&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; returns the value -1 if the socket is not &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; returns the value -1 if the socket is not &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JAL2</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=49896&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=49896&amp;oldid=prev"/>
		<updated>2012-01-20T02:53:46Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:53, 20 January 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=49895&amp;oldid=prev</id>
		<title>JAL at 17:21, 19 January 2012</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=$Sock_Recv&amp;diff=49895&amp;oldid=prev"/>
		<updated>2012-01-19T17:21:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:$Sock_Recv}}&lt;br /&gt;
&amp;lt;span class=&amp;quot;pageSubtitle&amp;quot;&amp;gt;Receive string based on count&amp;lt;/span&amp;gt;                            &lt;br /&gt;
&amp;lt;p class=&amp;quot;warning&amp;quot;&amp;gt;Most Sirius $functions have been deprecated in favor of Object Oriented &lt;br /&gt;
methods. There is currently no direct OO equivalent for this $function.&amp;lt;/p&amp;gt;                &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; receives a string of bytes on a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Janus Sockets&amp;lt;/var&amp;gt; connection, typically&lt;br /&gt;
to obtain a fixed-length string, and also to allow receipt of additional &amp;quot;already-buffered&amp;quot; bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; is also a [[Notation conventions for methods#Callable functions|callable]] function.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;squareb&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;%num&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;literal&amp;quot;&amp;gt; =&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;squareb&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;literal&amp;quot;&amp;gt; $Sock_Recv(&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;sockno&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;literal&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;%recv_targ&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;literal&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;squareb&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;opts&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;squareb&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;literal&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%num&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric value that is the number of bytes received, or, if the operation could not be performed as requested, a 0 value. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; For more details, see [[#$Sock_Recv return values|&amp;quot;$Sock_Recv return values&amp;quot;]]. &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;sockno&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;The socket number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%recv_targ&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;A %variable or an &amp;lt;var&amp;gt;IMAGE&amp;lt;/var&amp;gt; item (and &amp;#039;&amp;#039;&amp;#039;never&amp;#039;&amp;#039;&amp;#039; a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;[[Janus SOAP User Language Interface|Janus SOAP ULI]]&amp;lt;/var&amp;gt; class variable). This argument is the target of the receive operation, and is referred to as the &amp;quot;receive target.&amp;quot; You may request that some bytes from the socket stream can be discarded, so the length of the string stored in this target may be less than the value returned by &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt;. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;maxbytes&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This optional argument, the maximum number of bytes of data to receive, must be from 0 to 2,147,483,647. The default is 0, which means limit the received data to the larger of the value of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; argument and the declared length of the receive target.&lt;br /&gt;
Under &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; version 6.3 and later, if this argument is 0 and the receive argument is a &amp;lt;var&amp;gt;Longstring&amp;lt;/var&amp;gt;, the received data is limited to 2,147,483,647 bytes. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;minbytes&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This optional argument is the minimum number of bytes of data to receive before the operation completes, unless the input stream ends (a close operation by the remote) or &amp;lt;code&amp;gt;RECVLIM&amp;lt;/code&amp;gt; is encountered. The argument only needs to be specified for a variable length receive, which is fairly unusual.&lt;br /&gt;
The default is 0, which means use the effective value of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;maxbytes&amp;lt;/var&amp;gt; argument. Valid values must be from 0 to 2,147,483,647, and must not exceed the effective value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;maxbytes&amp;lt;/var&amp;gt;. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;opts&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This optional argument is an option string which can contain any of the following: &amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;BINARY&amp;lt;/var&amp;gt; &amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This indicates that regardless of the socket&amp;#039;s &amp;lt;var&amp;gt;[[BINARY (JANUS DEFINE parameter)|BINARY]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[CHAR (JANUS DEFINE parameter)|CHAR]]&amp;lt;/var&amp;gt; parameter, data &amp;#039;&amp;#039;&amp;#039;is not translated&amp;#039;&amp;#039;&amp;#039; when saved in the receive target. The received string &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;CHAR&amp;lt;/var&amp;gt; &amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;This indicates that regardless of the socket&amp;#039;s &amp;lt;var&amp;gt;[[BINARY (JANUS DEFINE parameter)|BINARY]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[CHAR (JANUS DEFINE parameter)|CHAR]]&amp;lt;/var&amp;gt; parameter, data &amp;#039;&amp;#039;&amp;#039;is translated&amp;#039;&amp;#039;&amp;#039; when saved in the receive target. The translation is speci&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; return values===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; returns the value -1 if the socket is not &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt;&lt;br /&gt;
and &amp;lt;var&amp;gt;ONRESET CONTINUE&amp;lt;/var&amp;gt; is in effect for the socket.&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; returns a number greater than 0&lt;br /&gt;
(which is the number of bytes received from the socket stream)&lt;br /&gt;
if at least &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; are stored in the target.&lt;br /&gt;
[[#Lengths: maximum, minimum, truncation, RECVLIM|Lengths: maximum, minimum, truncation, RECVLIM]] explains how the term&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;number of bytes received&amp;#039;&amp;#039;&amp;#039; is used, and it discusses the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;maxbytes&amp;lt;/var&amp;gt;&lt;br /&gt;
and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; arguments and other values affecting the received string.&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; version 6.3 and later, the return value from &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt;&lt;br /&gt;
can be less than the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;li&amp;gt;Before &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; version 6.3, &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; would return 0 to indicate&lt;br /&gt;
that the length of the received&lt;br /&gt;
string is less than &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt;. [[#Less than minbytes available|&amp;quot;Less than minbytes available&amp;quot;]] explains the 0 return code.&lt;br /&gt;
One case of this is if there is no data remaining to be received on&lt;br /&gt;
the connection, that is, if &amp;lt;code&amp;gt;FIN&amp;lt;/code&amp;gt; has been received.&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; version 6.3 and later, &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; returns 0 to indicate&lt;br /&gt;
that there is no more data to be received.&lt;br /&gt;
Calling &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; (or &amp;lt;var&amp;gt;[[$Sock_RecvPrs]]&amp;lt;/var&amp;gt;) again in this situation, without&lt;br /&gt;
at the very least setting &amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; to a new value, will result in request cancellation.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
In general, you use &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; when the protocol in use establishes the&lt;br /&gt;
length of a data item before it appears in the socket stream.&lt;br /&gt;
The simplest case is receiving the next &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;n&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; bytes, where &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;n&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
is the size of the target, as shown in the following example to receive&lt;br /&gt;
5 strings of 100 bytes each.&lt;br /&gt;
You use the alternate receive operation,&lt;br /&gt;
&amp;lt;var&amp;gt;$Sock_RecvPrs&amp;lt;/var&amp;gt;, for a data item whose length is unknown beforehand,&lt;br /&gt;
but rather is terminated by a known string (or one of a known set of strings).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%GRABIT IS STRING LEN 100 ARRAY(5)&lt;br /&gt;
For %x From 1 To 5&lt;br /&gt;
   %len = $Sock_Recv(%socket, %grabit(%x))&lt;br /&gt;
   If %len Ne 100 Then&lt;br /&gt;
      Print &amp;#039;Invalid number of bytes received.&amp;#039;&lt;br /&gt;
      Print &amp;#039;Last string received=&amp;#039; %grabit(%x)&lt;br /&gt;
      Print &amp;#039;Partial length=&amp;#039; With $Len(%grabit(%x))&lt;br /&gt;
   End If&lt;br /&gt;
End For&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lengths: maximum, minimum, truncation, RECVLIM==&lt;br /&gt;
The &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; function allows you to receive either a fixed length&lt;br /&gt;
string of bytes, or to receive some minimum length&lt;br /&gt;
and also any additional bytes that may already be available in the&lt;br /&gt;
socket&amp;#039;s TCP/IP input buffer; this latter capability is called a &amp;quot;variable length receive.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It is important to understand that a string referred to as&lt;br /&gt;
&amp;quot;the string that is received in a call to &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt;&amp;quot;&lt;br /&gt;
may be more than the string that &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; stores in the receive target.&lt;br /&gt;
Therefore, data in the input stream that exceeds the size&lt;br /&gt;
of the target can be discarded (or &amp;quot;truncated&amp;quot;).&lt;br /&gt;
The &amp;quot;string received by &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt;,&amp;quot; is a reference to the&lt;br /&gt;
string stored in the target plus any subsequent bytes that are discarded.&lt;br /&gt;
Under &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; 6.3 and later, if the target is a &amp;lt;var&amp;gt;Longstring&amp;lt;/var&amp;gt;, no bytes&lt;br /&gt;
would ever be discarded, since the maximum size of a &amp;lt;var&amp;gt;Longstring&amp;lt;/var&amp;gt; is the&lt;br /&gt;
same as the greatest number of bytes &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; will ever receive.&lt;br /&gt;
&lt;br /&gt;
The several values that control the length of the string received&lt;br /&gt;
are discussed in this section, using the following terms:&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;This specifies the number of bytes remaining in the &amp;quot;receive window.&amp;quot; A value of zero means there is no limit to the window. The purpose of this window is to allow you to limit a series of receive operations (using, if you want, a mixture of &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;$Sock_RecvPrs&amp;lt;/var&amp;gt;) to a predetermined total number of bytes.  &lt;br /&gt;
&amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; can be set in a &amp;lt;var&amp;gt;$Sock_Set&amp;lt;/var&amp;gt; call, and subsequent receive operations decrement from &amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; the number of bytes received, until it reaches zero (at which point a&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; call will return a 0, just as i&lt;br /&gt;
When &amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; has been set, no receive operation will use any bytes beyond the window.&lt;br /&gt;
A good example of the use of &amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; is obtaining a web page, whose length is (usually) specified in the &amp;quot;Content-length&amp;quot; field of the HTTP response header.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;len_to_end &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;When a receive operation is performed, the received string is of course limited to the total remaining bytes in the stream that the remote end sent before issuing a close operation. Although this value is not known ahead of time, when describing the operation of receive, the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;len_to_end&amp;lt;/var&amp;gt; term is used to indicate various cases.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;max_recv &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;This corresponds to the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;maxbytes&amp;lt;/var&amp;gt; argument of the &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; function call. It needs to be specified only if you want to allow truncation, or if you want to limit the received string to a length shorter than the size of the receive target. The number of bytes received by &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; will not exceed the effective value of this argument. The effective value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;max_recv&amp;lt;/var&amp;gt; if argument 3 is 0 (its default), is discussed [[#maxmin|below]].&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;min_recv &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;This corresponds to the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; argument of the &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; function call. You only need to provide this argument for a variable length receive. The receive initiated by &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; will only complete if &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;min_recv&amp;lt;/var&amp;gt; bytes are received, or if the limit to the stream (&amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; or &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;len_to_end&amp;lt;/var&amp;gt;) is reached. The effective value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;min_recv&amp;lt;/var&amp;gt;, if &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; is 0 (its default), is discussed [[#maxmin|below]]. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;targ_size &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;The size of the target is used in calculating various defaults of the other values here, and it also obviously limits the number of bytes stored in the target and so affects the number of bytes discarded. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;discard_len &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;This is the number of bytes received minus &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;targ_size&amp;lt;/var&amp;gt;. It will always be zero, unless &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;max_recv&amp;lt;/var&amp;gt; is greater than &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;targ_size&amp;lt;/var&amp;gt;. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;maxmin&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Arguments &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;max_recv&amp;lt;/var&amp;gt; and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;min_recv&amp;lt;/var&amp;gt; both default to 0; if they are omitted, or if&lt;br /&gt;
they are coded as 0, their effective values are shown here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;i&amp;gt;Item&amp;lt;/i&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;i&amp;gt;Value when argument is 0&amp;lt;/i&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;max_recv&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;larger of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;min_recv&amp;lt;/var&amp;gt; and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;targ_size&amp;lt;/var&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;min_recv&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;the effective value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;max_recv&amp;lt;/var&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Truncation&amp;#039;&amp;#039;&amp;#039; can only occur if &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;max_recv&amp;lt;/var&amp;gt; &amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;targ_size&amp;lt;/var&amp;gt;, which&lt;br /&gt;
cannot happen if the target is a &amp;lt;var&amp;gt;Longstring&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;variable length&amp;#039;&amp;#039;&amp;#039; receive, which is a fairly unusual operation,&lt;br /&gt;
is only possible if &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;min_recv&amp;lt;/var&amp;gt; differs from &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;max_recv&amp;lt;/var&amp;gt;; therefore, you will&lt;br /&gt;
generally not code the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; argument of &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt;.&lt;br /&gt;
===Less than minbytes available===&lt;br /&gt;
Before &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; version 6.3, if &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; was called and the number of bytes&lt;br /&gt;
remaining on the connection within the remaining &amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; was&lt;br /&gt;
less than the effective value of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; argument,&lt;br /&gt;
&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; returned 0 to indicate this, but the receive target&lt;br /&gt;
was set to any partial string remaining, or to the null string if there&lt;br /&gt;
were none remaining (that is, &amp;lt;code&amp;gt;FIN&amp;lt;/code&amp;gt; has been received).&lt;br /&gt;
The 0 return code indicated unsuccessful completion because the&lt;br /&gt;
function wasn&amp;#039;t able to do all it was asked to do (that is, return a&lt;br /&gt;
fixed number of bytes or a specified minimum number of bytes).&lt;br /&gt;
Depending on your application, this may be an error or the partial&lt;br /&gt;
string may be valid data.&lt;br /&gt;
If no bytes were discarded, you could determine the number of&lt;br /&gt;
bytes received by the length of the string stored in the receive target.&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Sirius Mods&amp;lt;/var&amp;gt; version 6.3 and later, if &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; is called and the number of&lt;br /&gt;
bytes remaining on the connection within the remaining &amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; is&lt;br /&gt;
less than the effective value of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt; argument,&lt;br /&gt;
&amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; returns the number of bytes read.&lt;br /&gt;
In such a case, if the application determines that the number of bytes&lt;br /&gt;
returned is less than &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;minbytes&amp;lt;/var&amp;gt;,&lt;br /&gt;
it knows that either &amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt;&lt;br /&gt;
must have been hit or a &amp;lt;code&amp;gt;FIN&amp;lt;/code&amp;gt; must have been received.&lt;br /&gt;
Alternatively, the application can forego checking for this case and&lt;br /&gt;
simply wait until &amp;lt;var&amp;gt;$Sock_Recv&amp;lt;/var&amp;gt; returns a zero.&lt;br /&gt;
This allows a simple receive loop structure like:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Do While $Sock_Recv(%sock, %str)&lt;br /&gt;
   ...&lt;br /&gt;
End Do&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
However, with the use of &amp;lt;var&amp;gt;Longstring&amp;lt;/var&amp;gt;s, an application can simply receive&lt;br /&gt;
everything up to &amp;lt;var&amp;gt;RECVLIM&amp;lt;/var&amp;gt; or the end of a stream with a simple call like:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%rc = $Sock_Recv(%sock, %longstr)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Janus Sockets $functions]]&lt;/div&gt;</summary>
		<author><name>JAL</name></author>
	</entry>
</feed>