Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Andrzejek on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

micros 3700 isl - tcp interface issue with multiple workstations

danaikotz

Programmer
Apr 10, 2023
2
GR
Hello!

We have an integration with Micros 3700 in which we are using a custom ISL script connected to a tcp interface. The interface communicates with a custom library that has a TcpListener which handles the received messages asynchronously and sends a response back to the SIM script.

The problem with this solution is when the response from the interface has not yet been returned to a workstation, all other workstations trying to transmit messages 'freeze' until the first response has been received.

Has anyone faced this issue? Is it possible to transmit messages simultaneously from multiple workstations using the same interface without waiting the previous request(initiated from another workstation) be completed?
 
It sounds like your SIM server is potentially single-threaded and will only do one thing at one time.

The alternative is that you're hitting the built-in nature of SIM on a workstation which is very much blocking in nature. While a SIM is running / doing anything, nothing else will be running / doing anything.

So if your SIM script is in a wait loop checking the server for a status, or generally "processing" anything, the user cannot escape out of this.

Check to make sure your connections are long-lived on the SIM server--there's no need to open a connection, send a message, then close the connection. The SIM "technology" will keep the connection alive as long as both the workstation and your SIM server are still running and it will send a heartbeat down that pipe every 5 minutes.

TL;DR: ensure that your server is always running and will always be open to new communications. Also ensure that your server is multi-threaded and will allow those connections to process messages at any point in time in a non-blocking nature.
 
Hello!

We have an integration with Micros 3700 in which we are using a custom ISL script connected to a tcp interface. The interface communicates with a custom library that has a TcpListener which handles the received messages asynchronously and sends a response back to the SIM script.

The problem with this solution is when the response from the interface has not yet been returned to a workstation, all other workstations trying to transmit messages 'freeze' until the first response has been received.

Has anyone faced this issue? Is it possible to transmit messages simultaneously from multiple workstations using the same interface without waiting the previous request(initiated from another workstation) be completed?
I create a system like this but in Simphony, using C#, try multithreaded to handle this, but sometime need more memory,
 

Part and Inventory Search

Sponsor

Back
Top