Explore chapters and articles related to this topic
A Novel Flexible Framework for Rapidly Integrating Offline Experiment into Remote Laboratory System
Published in Ning Wang, Qianlong Lan, Xuemin Chen, Gangbing Song, Hamid Parsaei, Development of a Remote Laboratory for Engineering Education, 2020
Ning Wang, Qianlong Lan, Xuemin Chen, Gangbing Song, Hamid Parsaei
Socket.IO is designed based on WebSocket, and it enhances WebSocket by providing built-in multiplexing, horizontal scalability, automatic JSON encoding/decoding, and more [142]. In general, Socket.IO uses feature detection to decide which approach, such as WebSocket, AJAX long polling, or Flash, will be used to establish the connection for real-time web applications. Through blurring the differences between the different transmission mechanisms, it is possible for Socket.IO to support real-time web applications in any popular browsers. Socket.IO includes two parts: a client-side library for the browsers and a server-side library supported by Node.js. Although Socket.IO works as simply a wrapper for WebSocket, it provides more features including broadcasting to multiple sockets, storing data associated with each client, and asynchronous I/O, to support the development of real-time web applications.
Cybersecurity and Risk
Published in Diego Galar Pascual, Pasquale Daponte, Uday Kumar, Handbook of Industry 4.0 and SMART Systems, 2019
Diego Galar Pascual, Pasquale Daponte, Uday Kumar
The WebSocket protocol enables interaction between a web client (such as a browser) and a web server with lower overheads, facilitating real-time data transfer from and to the server. This is made possible by providing a standardized way for the server to send content to the client without being first requested by the client and allowing messages to be passed back and forth while keeping the connection open. In this way, a two-way ongoing conversation can occur between the client and the server. The communications are done over TCP port number 80 (or 443 in the case of TLS-encrypted connections), which is of benefit for those environments that block non-web Internet connections using a firewall. Similar two-way browser-server communications have been achieved in non-standardized ways using stop-gap technologies such as Comet.
RLaaS-Frame
Published in J. P. Mohsen, Mohamed Y. Ismail, Hamid R. Parsaei, Waldemar Karwowski, Global Advances in Engineering Education, 2019
Xuemin Chen, Qianlong Lan, Ning Wang, Gangbing Song, Hamid R. Parsaei
Based on the EAaaS layer of RLaaS model, there are many different remote experiment applications to provide the different remote laboratory services for users’ academic and research activities. The experiment applications can run on most of the popular browsers and mobile platforms, and are built on HTML, CSS, PHP, AJAX and JQuery/JQuery-Mobile JavaScript libraries. Moreover, an adapter API layer for data exchange is required for data communication between the experiment application layer and the platform layer. To address the real-time data communication challenge of cloud-based system, Socket.IO protocol is used to implement the real-time experiment data transmission between the UI layer and the platform layer. Socket.IOis designed based on WebSocket, and enhances the WebSocket by providing built-in multiplexing, horizontal scalability, automatic JSON encoding/decoding, and more. Meanwhile, Socket.IO supports the real-time web applications in any popular browser. Socket.IO includes a client-side library for the browsers, and a server-side library supported by Node.js.
Dependable workflow management system for smart farms
Published in Connection Science, 2022
Catalin Negru, George Musat, Madalin Colezea, Constantin Anghel, Alexandru Dumitrascu, Florin Pop, Carmen De Maio, Aniello Castiglione
Representational State Transfer (REST) defines a set of constraints that can be used to create web services. These services provide interoperability between our frontend and backend applications. WebSocket is a communication protocol that provides full-duplex communication channel over a TCP connection. Only the backend application is responsible for communication with the database and it should send the data to the frontend application using these communication protocols. The platform also integrates with other external services. Some of these will be described below.