Been running a wireless system (printer, client pc and tablets). I found some issues that can be easily fixed so that even low performances wifi, tablets can communicate with each other.
I suggest a built in or third party program that works like queue any command executed by SambaPOS into this dummy program that will send the orders whenever possible without locking SambaPOS. Any orders executed on the tablet will be queue into this module where it will communicate with the client pc regardless of bad wifi signal without interfering with SambaPOS. That way it will not hang or freeze.
Currently connecting directly to client pc using SQL is when you have bad signal, it will freeze and attempt to stabilize. When it fail to stabilize/connect, it will close the entire program. I found another better way that is using remote desktop. It has the same issues but without the close entire program issues, just the occasionally lag but it WAS WAY BETTER than relaunching sambapos.
You should always minimize devices that are wireless. You should wire your fixed terminals and printers. Remote desktop works flawlessly for me. I just use a $250 asus wireless router.
It’s not just sending tickets, it would need to keep whole database locally, don’t forget virtually everything in samba is in the database.
Settings, automation, menus, products, tickets etcz
It feels the like whole SambaPOS is based on a centralized db including the menus, buttons… So I think a possible way to improve performance for multi users is to distribute the db to db capable machines to hold some of the stuff like Menu and such. The central server should only push new menus to the terminal when there is absolutely a need to. But that will be a big task to rewrite the core of the program.
So in the meantime, I think the more appropriate solution is to increase the network speed.
Just switch the wireless RnD Setup to a 10/100m Ethernet network, the performance has drastically improved but a minor lag in order create and such. Will test with Giga Ethernet in a few days.