Difference between revisions of "Program Examples:TCP IP:TCPIP Multi Server"
Line 61: | Line 61: | ||
* [[Program Examples:TCP IP:TCPIP Simple Server|Simple Server]] | * [[Program Examples:TCP IP:TCPIP Simple Server|Simple Server]] | ||
* [[Program Examples:TCP IP:TCPIP Simple Client|Simple Client]] | * [[Program Examples:TCP IP:TCPIP Simple Client|Simple Client]] | ||
+ | * [[Program_Examples:TCP_IP:TCPIP_TelNet_Server|TCPIP TelNet Server]] | ||
* [[MC-Basic:ACCEPT|ACCEPT]] | * [[MC-Basic:ACCEPT|ACCEPT]] | ||
* [[MC-Basic:CLOSE|CLOSE]] | * [[MC-Basic:CLOSE|CLOSE]] |
Revision as of 12:24, 3 November 2014
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