-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathsocket-client.js
More file actions
65 lines (52 loc) · 1.68 KB
/
socket-client.js
File metadata and controls
65 lines (52 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**
* Socket.IO Test Client
*
* This simple client connects to the Socket.IO server and allows
* sending messages from the command line.
*/
// We need to use CommonJS require for this standalone script
const { io } = require("socket.io-client");
// Import config values from CommonJS config file
const { CLIENT_URL } = require("./config.js");
console.log("Starting Socket.IO test client...");
console.log(`Connecting to: ${CLIENT_URL}`);
// Connect to the Socket.IO server
const socket = io(CLIENT_URL);
// Event handler for successful connection
socket.on("connect", () => {
console.log("✅ Connected to Socket.IO server");
console.log("Socket ID:", socket.id);
// Send a test message after connection
setTimeout(() => {
sendMessage("Hello from test client!");
}, 1000);
});
// Event handler for disconnection
socket.on("disconnect", () => {
console.log("❌ Disconnected from Socket.IO server");
});
// Event handler for connection errors
socket.on("connect_error", (err) => {
console.error("❌ Connection error:", err.message);
});
// Event handler for receiving messages
socket.on("message", (data) => {
console.log(`📨 Received: "${data}"`);
});
// Add handler for query-action events
socket.on("query-action", (data) => {
console.log(`📨 Received query-action:`, data);
});
// Function to send a message
function sendMessage(message) {
socket.emit("message", message);
console.log(`📤 Sent: "${message}"`);
}
// Allow sending messages from the command line
process.stdin.on("data", (data) => {
const message = data.toString().trim();
if (message) {
sendMessage(message);
}
});
console.log("Type messages and press Enter to send. Press Ctrl+C to exit.");