SlideShare a Scribd company logo
1 of 45
Download to read offline
Real Time applications with sockets
Introduction to SmartfoxServer 2x
Sponsors
Pablo Monterde - IT Manager
Softalian:
● SEO Agency
● Web Development
Dinacode:
● IT Consulting
● Adhoc Development
● Internal projects
@pablomonterdep
Projects
● Doyugames.com
● Gamesnan.com
● Casualarena.com
● +30 casual games real-
time multiuser
Context
What is Real-Time?
● Web: 1 httpRequest - ~300 - 500 ms
● System Monitoring: ~1 - 5 segs
● Messaging Application: ~ 500ms - 20 segs
● Collaborative Application: 1 Message - ~50 - 100 ms - FULL DUPLEX
● Chat Application: 1 Message - ~50 - 100 ms - FULL DUPLEX
● Multiplayer games : 1- 2 Frames - ~ 40ms - FULL DUPLEX
“Time is relative”
Multi-User Application
user - user server - user
user - broadcast server - broadcast
Multiple clients
Potencial Applications
1. Complex Chat
2. Realt-time Monitoring Application
3. Collaborative Application - Whiteboard, Shared
docs…
4. Industrial Control System
5. Data Acquisition Server
6. Multiplayer Games
Protocols - HTTP - Restful
● Simple
● All clients support
● Mature - Developer Experience
● Many server - framework - libraries
options
● Ajax
● Scalability
PROS
Protocols - HTTP - Restful
● No persistent connection
● No server to client messages
● Http - Header size
● Pull based application - one direction
● Latency
● New connection per request
CONS
Protocols - Socket - Websocket
● Permanent connection
● Full duplex - bidirectional
● New Websocket
● Low latency
● Overhead Reduction
● Dramatically Header Reduction
PROS
Protocols - Socket - Websocket
● Scalability
● Less server - frameworks - libraries
options
● Session management - session is evil
● Reconnection management
● Developer experience
● Complex
Cons
Server - Client Communication
vs
Client - Client Communication
?
Client - Client Communication
So...Which Protocol?
Socket - Websocket
Let´s Start !!!
2X
Overview
SmartFoxServer is a multi-platform client/server SDK
designed to integrate with the major online web and mobile
technologies (Adobe Flash, Unity, iOS, Android, Java,
Windows Phone 8, HTML5, Windows 10) enabling
developers to rapidly created multiuser experiences of all
scales.
Customer
Components
Client API
Socket Server Web Server
Server Side
Client Side
Clients
Clients Examples
Features
● High performance network engine
● Binary protocol with dynamic compression
● Public and private chat messaging - bad words filter
● Server-side variables (User Variables / Room
Variables) - Synchronization
● Auto kick idle users
● Dynamically create Rooms
● Logging capabilities
● Administrator messages
● Moderator support (kick / ban actions)
● Flooding filter with auto-kick / auto-ban functions
● IP filtering
● Persistent banned users list
● Web-based administration tool
● HTTP Tunnelling for firewall and proxy traversal
● Secure encrypted login system
● Embedded web server supporting Java servlet
● Server-side Extensions
● Direct database connectivity
● Mailer system
● Internal event dispatching system
● HRC system for transparent reconnection of unstable
clients
● UDP support
● User profiles and permissions system
● Rooms management (renaming, locking, resizing...)
● "Ghost users" hunting system
● Special MMO API for "Area of Interest"-based users
proximity notification
● Game API (match-making,Invitations,challenges
Features - Connection & network
● Sockets & WebSockets
● Session => Login Management => User
● Package Compression Configuration
● Http tunneling for clients unable to establish socket connections
● Ghost Hunter
● HRC system for transparent reconnection of unstable clients
Features - Zones & Rooms
● Zone extensions - server logic
● Room extensions - server logic
● Users join Zones
● Users join Rooms
● Room Variables
● Room Permissions
● Room Events
Zone A
User A
Room A
User B
Room B
Zone B Zone C
User C
Synchronization - User & Room vars
Room
User A User B User C
Communication - User 2 User
User A
User B
Send Public Message
Room
User C
Communication - User 2 User
User A User B
Send Private Message
Communication - User 2 User
User A
User B
Send Object Message
Room
User C
Communication - Server 2 User
Zone A
User A
Room A - extension
User B
Room B
Zone B - extension Zone C
User C
Communication - Server 2 User
Sfs Extension
Communication - Server 2 User
Handles
Features - Security
● Ban Manager - ( name | IP )
● Flood Filter
● Words filter - (whitelist | blacklist)
● Privilege manager - (profiles | roles)
● Moderator manager
Features - Web Server - Jetty
Socket Server Web Server
Server Side
Features - Administration Tool - Profiling
Features - Administration Tool - Logging
Features - Administration Tool - Zone
Features - Administration Tool - Room
Features - Administration Tool - User
On the other hand
Scalability - Bad Horizontal Scalability
HTTP Diagram
SFS Diagram
STICKY SESSION
No Open Source - License
Community License Elastic License Perpetual License
● Free
● 100 CCU
● 100% features
● Payment per day
● Prize depends on CCU max
● Never expire
● Prize per CCU max
● One time fee
Thanks
www.cooldeveloper.xyz

More Related Content

What's hot

What's hot (7)

Oculus rift
Oculus riftOculus rift
Oculus rift
 
Flutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationFlutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter application
 
The Emerging Virtual Reality Landscape: a Primer
The Emerging Virtual Reality Landscape: a PrimerThe Emerging Virtual Reality Landscape: a Primer
The Emerging Virtual Reality Landscape: a Primer
 
Meta Object Protocols
Meta Object ProtocolsMeta Object Protocols
Meta Object Protocols
 
Project meeting: Android Graphics Architecture Overview
Project meeting: Android Graphics Architecture OverviewProject meeting: Android Graphics Architecture Overview
Project meeting: Android Graphics Architecture Overview
 
Whats new in OpenText Gupta Team Developer 7.5.pdf
Whats new in OpenText Gupta Team Developer 7.5.pdfWhats new in OpenText Gupta Team Developer 7.5.pdf
Whats new in OpenText Gupta Team Developer 7.5.pdf
 
Graphic Processing Unit (GPU)
Graphic Processing Unit (GPU)Graphic Processing Unit (GPU)
Graphic Processing Unit (GPU)
 

Similar to Real-time applications with sockets and websockets. Introduction to Smartfoxserver 2x

Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012
Tomáš Kypta
 
Cpp In Soa
Cpp In SoaCpp In Soa
Cpp In Soa
WSO2
 

Similar to Real-time applications with sockets and websockets. Introduction to Smartfoxserver 2x (20)

Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012
 
Wso2 esb 5.0.0 product release webinar
Wso2 esb 5.0.0   product release webinarWso2 esb 5.0.0   product release webinar
Wso2 esb 5.0.0 product release webinar
 
Cpp In Soa
Cpp In SoaCpp In Soa
Cpp In Soa
 
Accion labs microservices white paper
Accion labs microservices white paper Accion labs microservices white paper
Accion labs microservices white paper
 
Accion Labs microservices white paper
Accion Labs microservices white paper Accion Labs microservices white paper
Accion Labs microservices white paper
 
Accion Labs Microservices Whitepaper
Accion Labs Microservices WhitepaperAccion Labs Microservices Whitepaper
Accion Labs Microservices Whitepaper
 
Analyzing RDP traffc with Bro
Analyzing RDP traffc with BroAnalyzing RDP traffc with Bro
Analyzing RDP traffc with Bro
 
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases DistributedRedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
 
Meet with Meteor
Meet with MeteorMeet with Meteor
Meet with Meteor
 
Thick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdfThick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdf
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
 
How we scaled Rudder to 10k, and the road to 50k
How we scaled Rudder to 10k, and the road to 50kHow we scaled Rudder to 10k, and the road to 50k
How we scaled Rudder to 10k, and the road to 50k
 
WSO2 Business Process Server 3.5.0 - Product Overview
WSO2 Business Process Server 3.5.0 - Product OverviewWSO2 Business Process Server 3.5.0 - Product Overview
WSO2 Business Process Server 3.5.0 - Product Overview
 
Software Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management SystemSoftware Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management System
 
Monkey Server
Monkey ServerMonkey Server
Monkey Server
 
Upleveling Brownfield Integration
Upleveling Brownfield IntegrationUpleveling Brownfield Integration
Upleveling Brownfield Integration
 
[WSO2Con Asia 2018] Up-leveling Brownfield Integration
[WSO2Con Asia 2018] Up-leveling Brownfield Integration[WSO2Con Asia 2018] Up-leveling Brownfield Integration
[WSO2Con Asia 2018] Up-leveling Brownfield Integration
 
OSMC 2009 | net-snmp: The forgotten classic by Dr. Michael Schwartzkopff
OSMC 2009 | net-snmp: The forgotten classic by Dr. Michael SchwartzkopffOSMC 2009 | net-snmp: The forgotten classic by Dr. Michael Schwartzkopff
OSMC 2009 | net-snmp: The forgotten classic by Dr. Michael Schwartzkopff
 
Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

Real-time applications with sockets and websockets. Introduction to Smartfoxserver 2x

  • 1. Real Time applications with sockets Introduction to SmartfoxServer 2x
  • 3. Pablo Monterde - IT Manager Softalian: ● SEO Agency ● Web Development Dinacode: ● IT Consulting ● Adhoc Development ● Internal projects @pablomonterdep
  • 4. Projects ● Doyugames.com ● Gamesnan.com ● Casualarena.com ● +30 casual games real- time multiuser
  • 6. What is Real-Time? ● Web: 1 httpRequest - ~300 - 500 ms ● System Monitoring: ~1 - 5 segs ● Messaging Application: ~ 500ms - 20 segs ● Collaborative Application: 1 Message - ~50 - 100 ms - FULL DUPLEX ● Chat Application: 1 Message - ~50 - 100 ms - FULL DUPLEX ● Multiplayer games : 1- 2 Frames - ~ 40ms - FULL DUPLEX “Time is relative”
  • 7. Multi-User Application user - user server - user user - broadcast server - broadcast
  • 9. Potencial Applications 1. Complex Chat 2. Realt-time Monitoring Application 3. Collaborative Application - Whiteboard, Shared docs… 4. Industrial Control System 5. Data Acquisition Server 6. Multiplayer Games
  • 10. Protocols - HTTP - Restful ● Simple ● All clients support ● Mature - Developer Experience ● Many server - framework - libraries options ● Ajax ● Scalability PROS
  • 11. Protocols - HTTP - Restful ● No persistent connection ● No server to client messages ● Http - Header size ● Pull based application - one direction ● Latency ● New connection per request CONS
  • 12. Protocols - Socket - Websocket ● Permanent connection ● Full duplex - bidirectional ● New Websocket ● Low latency ● Overhead Reduction ● Dramatically Header Reduction PROS
  • 13. Protocols - Socket - Websocket ● Scalability ● Less server - frameworks - libraries options ● Session management - session is evil ● Reconnection management ● Developer experience ● Complex Cons
  • 14. Server - Client Communication vs
  • 15. Client - Client Communication ?
  • 16. Client - Client Communication
  • 19. 2X
  • 20. Overview SmartFoxServer is a multi-platform client/server SDK designed to integrate with the major online web and mobile technologies (Adobe Flash, Unity, iOS, Android, Java, Windows Phone 8, HTML5, Windows 10) enabling developers to rapidly created multiuser experiences of all scales.
  • 22. Components Client API Socket Server Web Server Server Side Client Side
  • 25. Features ● High performance network engine ● Binary protocol with dynamic compression ● Public and private chat messaging - bad words filter ● Server-side variables (User Variables / Room Variables) - Synchronization ● Auto kick idle users ● Dynamically create Rooms ● Logging capabilities ● Administrator messages ● Moderator support (kick / ban actions) ● Flooding filter with auto-kick / auto-ban functions ● IP filtering ● Persistent banned users list ● Web-based administration tool ● HTTP Tunnelling for firewall and proxy traversal ● Secure encrypted login system ● Embedded web server supporting Java servlet ● Server-side Extensions ● Direct database connectivity ● Mailer system ● Internal event dispatching system ● HRC system for transparent reconnection of unstable clients ● UDP support ● User profiles and permissions system ● Rooms management (renaming, locking, resizing...) ● "Ghost users" hunting system ● Special MMO API for "Area of Interest"-based users proximity notification ● Game API (match-making,Invitations,challenges
  • 26. Features - Connection & network ● Sockets & WebSockets ● Session => Login Management => User ● Package Compression Configuration ● Http tunneling for clients unable to establish socket connections ● Ghost Hunter ● HRC system for transparent reconnection of unstable clients
  • 27. Features - Zones & Rooms ● Zone extensions - server logic ● Room extensions - server logic ● Users join Zones ● Users join Rooms ● Room Variables ● Room Permissions ● Room Events Zone A User A Room A User B Room B Zone B Zone C User C
  • 28. Synchronization - User & Room vars Room User A User B User C
  • 29. Communication - User 2 User User A User B Send Public Message Room User C
  • 30. Communication - User 2 User User A User B Send Private Message
  • 31. Communication - User 2 User User A User B Send Object Message Room User C
  • 32. Communication - Server 2 User Zone A User A Room A - extension User B Room B Zone B - extension Zone C User C
  • 33. Communication - Server 2 User Sfs Extension
  • 34. Communication - Server 2 User Handles
  • 35. Features - Security ● Ban Manager - ( name | IP ) ● Flood Filter ● Words filter - (whitelist | blacklist) ● Privilege manager - (profiles | roles) ● Moderator manager
  • 36. Features - Web Server - Jetty Socket Server Web Server Server Side
  • 37. Features - Administration Tool - Profiling
  • 38. Features - Administration Tool - Logging
  • 42. On the other hand
  • 43. Scalability - Bad Horizontal Scalability HTTP Diagram SFS Diagram STICKY SESSION
  • 44. No Open Source - License Community License Elastic License Perpetual License ● Free ● 100 CCU ● 100% features ● Payment per day ● Prize depends on CCU max ● Never expire ● Prize per CCU max ● One time fee