SlideShare a Scribd company logo
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 (20)

PDF
Spi drivers
pradeep_tewani
 
DOCX
Pengenalan Komputer Untuk Anak TK
Felix net
 
PDF
Geep networking stack-linuxkernel
Kiran Divekar
 
PDF
BeagleBone Black: Platform Bring-Up with Upstream Components
GlobalLogic Ukraine
 
PDF
Direct Sparse Odometry (DSO) Review
EdwardIm1
 
PPTX
Algoritma means ends analysis (mea)
Davin Wijaya
 
PDF
How to use KASAN to debug memory corruption in OpenStack environment- (2)
Gavin Guo
 
PDF
MR201406 A Re-introduction to SELinux
FFRI, Inc.
 
PPTX
U-Boot Porting on New Hardware
RuggedBoardGroup
 
PDF
Physical Memory Models.pdf
Adrian Huang
 
POTX
Performance Tuning EC2 Instances
Brendan Gregg
 
DOC
L I N U X
IMAT RUHIMAT
 
PDF
Memory Compaction in Linux Kernel.pdf
Adrian Huang
 
PDF
Complexidade do Algoritmo: Caminho mínimo Floyd Warshall
Lucas Vinícius
 
PDF
OpenStack DVR_What is DVR?
Yongyoon Shin
 
PPT
Linux Booting Steps
Anando Kumar Paul
 
PDF
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
Anne Nicolas
 
PDF
introduction to linux kernel tcp/ip ptocotol stack
monad bobo
 
PDF
netfilter and iptables
Kernel TLV
 
PPTX
Linux Interrupts
Kernel TLV
 
Spi drivers
pradeep_tewani
 
Pengenalan Komputer Untuk Anak TK
Felix net
 
Geep networking stack-linuxkernel
Kiran Divekar
 
BeagleBone Black: Platform Bring-Up with Upstream Components
GlobalLogic Ukraine
 
Direct Sparse Odometry (DSO) Review
EdwardIm1
 
Algoritma means ends analysis (mea)
Davin Wijaya
 
How to use KASAN to debug memory corruption in OpenStack environment- (2)
Gavin Guo
 
MR201406 A Re-introduction to SELinux
FFRI, Inc.
 
U-Boot Porting on New Hardware
RuggedBoardGroup
 
Physical Memory Models.pdf
Adrian Huang
 
Performance Tuning EC2 Instances
Brendan Gregg
 
L I N U X
IMAT RUHIMAT
 
Memory Compaction in Linux Kernel.pdf
Adrian Huang
 
Complexidade do Algoritmo: Caminho mínimo Floyd Warshall
Lucas Vinícius
 
OpenStack DVR_What is DVR?
Yongyoon Shin
 
Linux Booting Steps
Anando Kumar Paul
 
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
Anne Nicolas
 
introduction to linux kernel tcp/ip ptocotol stack
monad bobo
 
netfilter and iptables
Kernel TLV
 
Linux Interrupts
Kernel TLV
 

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

PPTX
Node.js Web Apps @ ebay scale
Dmytro Semenov
 
PDF
Android development - the basics, FI MUNI, 2012
Tomáš Kypta
 
PDF
Wso2 esb 5.0.0 product release webinar
Chanaka Fernando
 
PDF
Cpp In Soa
WSO2
 
PDF
Accion labs microservices white paper
Tony Kernan
 
PDF
Accion Labs Microservices Whitepaper
Tony Kernan
 
PDF
Accion Labs microservices white paper
Tony Kernan
 
PPTX
Analyzing RDP traffc with Bro
Josh Liburdi
 
PPTX
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
Redis Labs
 
PPTX
Meet with Meteor
Tahmina Khatoon
 
PDF
Thick Client Penetration Testing.pdf
SouvikRoy114738
 
PDF
Adding Real-time Features to PHP Applications
Ronny López
 
PDF
How we scaled Rudder to 10k, and the road to 50k
RUDDER
 
PPTX
WSO2 Business Process Server 3.5.0 - Product Overview
WSO2
 
DOCX
Software Requirement Specification Of Hotel Management System
Uttam Singh Chaudhary
 
PDF
Monkey Server
Eduardo Silva Pereira
 
PDF
[WSO2Con Asia 2018] Up-leveling Brownfield Integration
WSO2
 
PDF
Upleveling Brownfield Integration
Asanka Abeyweera
 
PDF
OSMC 2009 | net-snmp: The forgotten classic by Dr. Michael Schwartzkopff
NETWAYS
 
PPTX
Dynomite @ RedisConf 2017
Ioannis Papapanagiotou
 
Node.js Web Apps @ ebay scale
Dmytro Semenov
 
Android development - the basics, FI MUNI, 2012
Tomáš Kypta
 
Wso2 esb 5.0.0 product release webinar
Chanaka Fernando
 
Cpp In Soa
WSO2
 
Accion labs microservices white paper
Tony Kernan
 
Accion Labs Microservices Whitepaper
Tony Kernan
 
Accion Labs microservices white paper
Tony Kernan
 
Analyzing RDP traffc with Bro
Josh Liburdi
 
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
Redis Labs
 
Meet with Meteor
Tahmina Khatoon
 
Thick Client Penetration Testing.pdf
SouvikRoy114738
 
Adding Real-time Features to PHP Applications
Ronny López
 
How we scaled Rudder to 10k, and the road to 50k
RUDDER
 
WSO2 Business Process Server 3.5.0 - Product Overview
WSO2
 
Software Requirement Specification Of Hotel Management System
Uttam Singh Chaudhary
 
Monkey Server
Eduardo Silva Pereira
 
[WSO2Con Asia 2018] Up-leveling Brownfield Integration
WSO2
 
Upleveling Brownfield Integration
Asanka Abeyweera
 
OSMC 2009 | net-snmp: The forgotten classic by Dr. Michael Schwartzkopff
NETWAYS
 
Dynomite @ RedisConf 2017
Ioannis Papapanagiotou
 
Ad

Recently uploaded (20)

PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Ad

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