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

Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Johan Andersson
 
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...Gerke Max Preussner
 
Deferred shading
Deferred shadingDeferred shading
Deferred shadingFrank Chao
 
BitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven rendererBitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven renderertobias_persson
 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3Guerrilla
 
Hierachical z Map Occlusion Culling
Hierachical z Map Occlusion CullingHierachical z Map Occlusion Culling
Hierachical z Map Occlusion CullingYEONG-CHEON YOU
 
Advanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering PipelineAdvanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering PipelineNarann29
 
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)Ahmed El-Arabawy
 
iOS Architecture
iOS ArchitectureiOS Architecture
iOS ArchitectureJacky Lian
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Paris Master Class 2011 - 04 Shadow Maps
Paris Master Class 2011 - 04 Shadow MapsParis Master Class 2011 - 04 Shadow Maps
Paris Master Class 2011 - 04 Shadow MapsWolfgang Engel
 
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTPIoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTPAnshu Pandey
 
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019Unity Technologies
 
LOD and Culling Systems That Scale - Unite LA
LOD and Culling Systems That Scale  - Unite LALOD and Culling Systems That Scale  - Unite LA
LOD and Culling Systems That Scale - Unite LAUnity Technologies
 
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...ozlael ozlael
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Johan Andersson
 

What's hot (20)

Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
 
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
BitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven rendererBitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven renderer
 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3
 
Hierachical z Map Occlusion Culling
Hierachical z Map Occlusion CullingHierachical z Map Occlusion Culling
Hierachical z Map Occlusion Culling
 
Advanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering PipelineAdvanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering Pipeline
 
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
Google Firebase presentation - English
Google Firebase presentation - EnglishGoogle Firebase presentation - English
Google Firebase presentation - English
 
iOS Architecture
iOS ArchitectureiOS Architecture
iOS Architecture
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Paris Master Class 2011 - 04 Shadow Maps
Paris Master Class 2011 - 04 Shadow MapsParis Master Class 2011 - 04 Shadow Maps
Paris Master Class 2011 - 04 Shadow Maps
 
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTPIoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
 
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
 
LOD and Culling Systems That Scale - Unite LA
LOD and Culling Systems That Scale  - Unite LALOD and Culling Systems That Scale  - Unite LA
LOD and Culling Systems That Scale - Unite LA
 
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 

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

Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleDmytro Semenov
 
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, 2012Tomáš Kypta
 
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 webinarChanaka Fernando
 
Cpp In Soa
Cpp In SoaCpp In Soa
Cpp In SoaWSO2
 
Accion Labs microservices white paper
Accion Labs microservices white paper Accion Labs microservices white paper
Accion Labs microservices white paper Tony Kernan
 
Accion Labs Microservices Whitepaper
Accion Labs Microservices WhitepaperAccion Labs Microservices Whitepaper
Accion Labs Microservices WhitepaperTony Kernan
 
Accion labs microservices white paper
Accion labs microservices white paper Accion labs microservices white paper
Accion labs microservices white paper Tony Kernan
 
Analyzing RDP traffc with Bro
Analyzing RDP traffc with BroAnalyzing RDP traffc with Bro
Analyzing RDP traffc with BroJosh Liburdi
 
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 DistributedRedis Labs
 
Thick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdfThick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdfSouvikRoy114738
 
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 ApplicationsRonny López
 
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 50kRUDDER
 
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 OverviewWSO2
 
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 SystemUttam Singh Chaudhary
 
Upleveling Brownfield Integration
Upleveling Brownfield IntegrationUpleveling Brownfield Integration
Upleveling Brownfield IntegrationAsanka Abeyweera
 
[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 IntegrationWSO2
 
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 SchwartzkopffNETWAYS
 

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 Whitepaper
Accion Labs Microservices WhitepaperAccion Labs Microservices Whitepaper
Accion Labs Microservices Whitepaper
 
Accion labs microservices white paper
Accion labs microservices white paper Accion labs microservices white paper
Accion labs microservices white paper
 
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

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
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 GoalsJhone kinadey
 
+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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
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-...Steffen Staab
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 

Recently uploaded (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
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
 
+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...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
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-...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

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