<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://software-design.avetavos.com/websocket/en/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/connection-lifecycle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/connection-lifecycle/close-codes-and-resume/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/close-codes-and-resume/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/close-codes-and-resume/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/connection-lifecycle/detecting-dead-connections/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/detecting-dead-connections/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/detecting-dead-connections/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/connection-lifecycle/heartbeats/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/heartbeats/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/heartbeats/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/connection-lifecycle/reconnection-backoff/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/reconnection-backoff/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/reconnection-backoff/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/message-design/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/message-design/framing-messages/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/framing-messages/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/framing-messages/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/message-design/json-vs-binary/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/json-vs-binary/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/json-vs-binary/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/message-design/request-response-over-ws/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/request-response-over-ws/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/request-response-over-ws/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/message-design/schemas-and-versioning/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/schemas-and-versioning/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/schemas-and-versioning/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/building-a-realtime-app/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/building-a-realtime-app/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/building-a-realtime-app/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/pubsub-and-rooms/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/pubsub-and-rooms/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/pubsub-and-rooms/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/rpc-over-ws/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/rpc-over-ws/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/rpc-over-ws/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/ws-vs-sse-vs-webtransport/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/ws-vs-sse-vs-webtransport/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/ws-vs-sse-vs-webtransport/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/presence/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/presence/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/presence/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/pubsub-backplane/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/pubsub-backplane/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/pubsub-backplane/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/sticky-vs-stateless/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/sticky-vs-stateless/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/sticky-vs-stateless/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/why-scaling-is-hard/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/why-scaling-is-hard/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/why-scaling-is-hard/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/security/authorization/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/authorization/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/authorization/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/security/origin-and-handshake-auth/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/origin-and-handshake-auth/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/origin-and-handshake-auth/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/security/rate-limiting-and-validation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/rate-limiting-and-validation/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/rate-limiting-and-validation/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/security/tls-and-dos/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/tls-and-dos/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/tls-and-dos/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/server-design/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/server-design/a-ws-server/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/a-ws-server/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/a-ws-server/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/server-design/backpressure/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/backpressure/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/backpressure/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/server-design/connection-state/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/connection-state/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/connection-state/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/server-design/rooms-and-broadcast/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/rooms-and-broadcast/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/rooms-and-broadcast/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/the-client-api/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/the-client-api/binary-data/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/binary-data/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/binary-data/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/the-client-api/creating-a-connection/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/creating-a-connection/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/creating-a-connection/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/the-client-api/events-and-readystate/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/events-and-readystate/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/events-and-readystate/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/the-client-api/sending-and-receiving/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/sending-and-receiving/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/sending-and-receiving/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/websocket-foundations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/websocket-foundations/frames-and-protocol/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/frames-and-protocol/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/frames-and-protocol/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/websocket-foundations/the-handshake/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/the-handshake/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/the-handshake/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/websocket-foundations/vs-http-polling-sse/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/vs-http-polling-sse/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/vs-http-polling-sse/"/></url><url><loc>https://software-design.avetavos.com/websocket/en/websocket-foundations/what-are-websockets/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/what-are-websockets/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/what-are-websockets/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/connection-lifecycle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/connection-lifecycle/close-codes-and-resume/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/close-codes-and-resume/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/close-codes-and-resume/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/connection-lifecycle/detecting-dead-connections/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/detecting-dead-connections/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/detecting-dead-connections/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/connection-lifecycle/heartbeats/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/heartbeats/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/heartbeats/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/connection-lifecycle/reconnection-backoff/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/connection-lifecycle/reconnection-backoff/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/connection-lifecycle/reconnection-backoff/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/glossary/</loc></url><url><loc>https://software-design.avetavos.com/websocket/th/message-design/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/message-design/framing-messages/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/framing-messages/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/framing-messages/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/message-design/json-vs-binary/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/json-vs-binary/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/json-vs-binary/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/message-design/request-response-over-ws/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/request-response-over-ws/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/request-response-over-ws/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/message-design/schemas-and-versioning/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/message-design/schemas-and-versioning/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/message-design/schemas-and-versioning/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/building-a-realtime-app/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/building-a-realtime-app/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/building-a-realtime-app/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/pubsub-and-rooms/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/pubsub-and-rooms/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/pubsub-and-rooms/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/rpc-over-ws/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/rpc-over-ws/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/rpc-over-ws/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/ws-vs-sse-vs-webtransport/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/patterns-and-alternatives/ws-vs-sse-vs-webtransport/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/patterns-and-alternatives/ws-vs-sse-vs-webtransport/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/presence/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/presence/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/presence/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/pubsub-backplane/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/pubsub-backplane/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/pubsub-backplane/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/sticky-vs-stateless/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/sticky-vs-stateless/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/sticky-vs-stateless/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/why-scaling-is-hard/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/scaling-and-pubsub/why-scaling-is-hard/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/scaling-and-pubsub/why-scaling-is-hard/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/security/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/security/authorization/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/authorization/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/authorization/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/security/origin-and-handshake-auth/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/origin-and-handshake-auth/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/origin-and-handshake-auth/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/security/rate-limiting-and-validation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/rate-limiting-and-validation/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/rate-limiting-and-validation/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/security/tls-and-dos/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/security/tls-and-dos/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/security/tls-and-dos/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/server-design/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/server-design/a-ws-server/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/a-ws-server/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/a-ws-server/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/server-design/backpressure/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/backpressure/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/backpressure/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/server-design/connection-state/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/connection-state/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/connection-state/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/server-design/rooms-and-broadcast/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/server-design/rooms-and-broadcast/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/server-design/rooms-and-broadcast/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/the-client-api/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/the-client-api/binary-data/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/binary-data/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/binary-data/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/the-client-api/creating-a-connection/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/creating-a-connection/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/creating-a-connection/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/the-client-api/events-and-readystate/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/events-and-readystate/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/events-and-readystate/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/the-client-api/sending-and-receiving/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/the-client-api/sending-and-receiving/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/the-client-api/sending-and-receiving/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/websocket-foundations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/websocket-foundations/frames-and-protocol/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/frames-and-protocol/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/frames-and-protocol/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/websocket-foundations/the-handshake/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/the-handshake/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/the-handshake/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/websocket-foundations/vs-http-polling-sse/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/vs-http-polling-sse/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/vs-http-polling-sse/"/></url><url><loc>https://software-design.avetavos.com/websocket/th/websocket-foundations/what-are-websockets/</loc><xhtml:link rel="alternate" hreflang="en" href="https://software-design.avetavos.com/websocket/en/websocket-foundations/what-are-websockets/"/><xhtml:link rel="alternate" hreflang="th" href="https://software-design.avetavos.com/websocket/th/websocket-foundations/what-are-websockets/"/></url></urlset>