📘 C# Blog Series – Blog 17 “C# Events — Server में Real-Time Notifications कैसे बनाए जाते हैं? (Real-Life Example: GPS Device Connected/Disconnected Events)”

📘 C# Blog Series – Blog 17

“C# Events — Server में Real-Time Notifications कैसे बनाए जाते हैं? (Real-Life Example: GPS Device Connected/Disconnected Events)”






C# में Events वो फीचर है जो आपके application में
real-time reaction लाता है।

GPS server में events का सबसे important role है:

  • Device connected

  • Device disconnected

  • Packet received

  • Low battery alert

  • SOS signal

  • Overspeed alert

जैसे ही कोई घटना होती है → आपका system खुद “react” कर सकता है।
आज हम C# events को सबसे आसान तरीके + आपके GPS server example से समझेंगे।


🟦 1. Event क्या होता है? (सबसे आसान Example)

Event =
जब कुछ होता है → उसे सुनकर action लेना

Real-life example:

  • Doorbell बजते ही आप दरवाज़ा खोलते हैं

  • मोबाइल में notification आते ही आप देखते हैं

  • कार में seatbelt alert आते ही driver belt लगाता है

Programming में यही होता है →
System event trigger करता है, subscriber उसका response देता है।


🟢 2. C# Event कैसे बनाया जाता है?

Event बनाने के लिए दो चीज़ चाहिए:

  • Delegate (method signature define करता है)

  • Event (घटना घोषित करता है)

Example:

public delegate void MyHandler(string message); public class Test { public event MyHandler OnMessage; }

3. Event Trigger कैसे करते हैं?

OnMessage?.Invoke("Hello Event!");

यह कहता है → “सब listeners को notify करो!”


4. Listener (Event Subscribe) कैसे करते हैं?

test.OnMessage += (msg) => Console.WriteLine(msg);

जिस function को subscribe किया है → वो event आते ही run होगा।


🌟 5. Real-Life Example (Actual GPS Server Use-Case)

आपका TCP GPS server कई events produce करता है:

✔ Device Connected

✔ Device Disconnected

✔ Packet Received

✔ Location Updated

✔ Low Battery

✔ SOS Pressed

अब हम इन्हें C# events से model करते हैं।


🚀 6. Event Setup for GPS Server

Step 1: Delegate बनाना

public delegate void DeviceEventHandler(GPSDevice device);

Step 2: Event बनाना

public class GPSManager { public event DeviceEventHandler DeviceConnected; public event DeviceEventHandler DeviceDisconnected; }

🚀 7. Event Trigger करना (जब device connect हो)

public void AddDevice(GPSDevice device) { connectedDevices.Add(device); DeviceConnected?.Invoke(device); }

Trigger होने पर event subscribers notify हो जाएंगे।


🚀 8. Event Listener (Server का दूसरा हिस्सा)

gpsManager.DeviceConnected += (device) => { Console.WriteLine("Connected: " + device.IMEI); };

जैसे ही कोई device connect → यह code अपने आप चलेगा।


🌟 9. Real-Life Events in Your GPS Server

✔ Device Connected Event

gpsManager.DeviceConnected += (d) => { Log("Device online: " + d.IMEI); NotifyWebSocketClients(d); };

✔ Device Disconnected Event

gpsManager.DeviceDisconnected += (d) => { Log("Device disconnected: " + d.IMEI); };

✔ Low Battery Alert

d.OnLowBattery += (device) => { SendSMS(device.Owner, "Low Battery Alert!"); };

10. Real-Life Example: SOS Button Pressed

GPS device SOS send करता है:

SOS,IMEI=861128068064267

Event trigger:

public event DeviceEventHandler OnSOS;

Device processing:

OnSOS?.Invoke(this);

Listener:

device.OnSOS += d => AlertPolice(d);

Server instantly react करेगा।
यही है events की ताकत।


🎮 11. Other Real-Life Use Cases

✔ Billing Software

  • Bill printed

  • Item added

  • Low inventory alert

✔ School System

  • Student login event

  • Attendance marked event

✔ E-Commerce

  • Order placed

  • Payment success

  • Shipment dispatched

✔ Games

  • Player died

  • Level completed

  • Coin collected

Events everywhere!


🔚 Conclusion

Events आपके सिस्टम में “real-time reaction power” जोड़ते हैं:

✔ Instant actions
✔ Loose coupling
✔ Clean architecture
✔ Easy extend
✔ Real-time systems के लिए perfect

GPS server, banking, signaling systems—
सभी events पर heavily depend करते हैं।

Post a Comment

0 Comments

Translate

Close Menu