Difference between revisions of "Program Examples:TCP IP:TCPIP Multi Server"

From SoftMC-Wiki
Jump to: navigation, search
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
{{Languages|Program_Examples:TCP_IP:TCPIP_Multi_Server}}
 
The following example demonstrates the set up of a TCP-IP server that opens connection with multiple clients.
 
The following example demonstrates the set up of a TCP-IP server that opens connection with multiple clients.
  
Line 57: Line 58:
 
end program
 
end program
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
The example corresponds to commit SHA-1: ada143a7f402e6bbad24c13c56401a5393ce3d2b in GIT.
 +
  
 
== See Also ==
 
== See Also ==
* [[Program Examples:TCP IP:TCPIP Simple Server|Simple Server]]
+
* [[Program Examples:TCP IP:TCPIP Simple Server|TCP/IP Simple Server]]
* [[Program Examples:TCP IP:TCPIP Simple Client|Simple Client]]
+
* [[Program Examples:TCP IP:TCPIP Simple Client|TCP/IP Simple Client]]
* [[Program_Examples:TCP_IP:TCPIP_TelNet_Server|TCPIP TelNet Server]]
+
* [[Program_Examples:TCP_IP:TCPIP_TelNet_Server|TCP/IP TelNet Server]]
 +
* [[Program_Examples:TCP_IP:TCPIP_Winsock_Client|TCP/IP windows socket client]]
 
* [[MC-Basic:ACCEPT|ACCEPT]]
 
* [[MC-Basic:ACCEPT|ACCEPT]]
 
* [[MC-Basic:CLOSE|CLOSE]]
 
* [[MC-Basic:CLOSE|CLOSE]]

Latest revision as of 08:14, 16 July 2017

Language: English  • 中文(简体)‎

The following example demonstrates the set up of a TCP-IP server that opens connection with multiple clients.

The server opens a socket and blocks on "Accept" until a client gets connected. Then an exchange of messages takes place and the server closes the connection and gets blocked again waiting to accept the next client.

program 'continue

	dim str1 as string
	dim Test_str as string
	dim X as long = 20

	Try
		OpenSocket Options=1 as #1
	catch 5043 'socket is already open
		print "socket 1 is already open. closing an reopening"
		close #1
		OpenSocket Options=1 as #1
	End Try

	while 1

		Try
			OpenSocket Options=1 as #X
		catch 5043 'socket is already open
			print "socket 2 is already open. closing an reopening"
			close #X
			OpenSocket Options=1 as #X
		End Try

		Test_str="Server sending test string"

		Accept(#1, #X, 6001)

		sleep 100
		print #X, Test_str; 'send
		sleep 200
		str1=input$(loc(X),#X) 'receive

		if str1 = "Client sending test string" then
			?"server.prg test is successful"
		else
			?"server.prg test FAILED"
			?str1
		end if

		sleep 200

		close #X
		X = X + 1

	end while

	close #1
	Print "Server Closed Sockets. Server Exits"

end program


The example corresponds to commit SHA-1: ada143a7f402e6bbad24c13c56401a5393ce3d2b in GIT.


See Also