<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>WebSocket - แท็ก - Kawin&#39;s Pages</title>
        <link>https://kawin.dev/tags/websocket/</link>
        <description>WebSocket - แท็ก - Kawin&#39;s Pages</description>
        <generator>Hugo -- gohugo.io</generator><language>th</language><managingEditor>kawin.v@kkumail.com (Kawin Viriyaprasopsook)</managingEditor>
            <webMaster>kawin.v@kkumail.com (Kawin Viriyaprasopsook)</webMaster><lastBuildDate>Mon, 13 Jul 2026 09:00:00 &#43;0700</lastBuildDate><atom:link href="https://kawin.dev/tags/websocket/" rel="self" type="application/rss+xml" /><item>
    <title>สร้าง wsProxy ตอนที่ 1 — CLI, Config และ Server</title>
    <link>https://kawin.dev/posts/rust/rust-wsproxy-server/</link>
    <pubDate>Mon, 13 Jul 2026 09:00:00 &#43;0700</pubDate>
    <author>kawin.v@kkumail.com (Kawin Viriyaprasopsook)</author>
    <guid>https://kawin.dev/posts/rust/rust-wsproxy-server/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/featured-image.jpeg" referrerpolicy="no-referrer">
            </div><h1 id="สราง-wsproxy-ตอนท-1--cli-config-และ-server">สร้าง wsProxy ตอนที่ 1 — CLI, Config และ Server</h1>
<p>สวัสดีครับ! ในบทความนี้เราจะเริ่มสร้างโปรเจกต์จริง ๆ ชื่อว่า <strong>rs-wsProxy</strong> ซึ่งเป็น WebSocket-to-TCP Proxy ที่ออกแบบมาสำหรับใช้งานร่วมกับ <a href="https://github.com/vthibault/roBrowser" target="_blank" rel="noopener noreffer ">roBrowser</a> (โปรเจกต์จำลอง Ragnarok Online บนเว็บ) เพื่อให้สามารถเชื่อมต่อจากเว็บเบราว์เซอร์ไปยังเซิร์ฟเวอร์เกมได้โดยตรงผ่าน WebSocket</p>
<p>ย้อนกลับไปตอนที่เห็นโพสต์จาก <a href="https://rayrag.com/" target="_blank" rel="noopener noreffer ">rayrag.com</a> บน Facebook ที่เล่น RO บนเว็บเบราว์เซอร์ได้ ผมก็เลยอยากสร้าง proxy ตัวนี้ขึ้นมาเองด้วย Rust หลังจากเรียนรู้พื้นฐานมาทั้ง 6 ตอน ถึงเวลาเอาทุกอย่างมาประกอบกันแล้ว</p>
<p>บทความนี้เป็น Part 1 ของซีรีส์สองส่วน โดยเราจะเน้นไปที่การตั้งค่าโครงสร้างโปรเจกต์ การตั้งค่า CLI ด้วย <code>clap</code> การจัดการการตั้งค่า (configuration) ระบบ logging ด้วย <code>tracing</code> และการตั้งค่าเซิร์ฟเวอร์ HTTP/WebSocket ด้วย <code>axum</code> และ <code>tokio</code></p>
<p>ใน Part 2 (ซึ่งจะตามมาในบทความถัดไป) เราจะเจาะลึกเข้าไปในส่วนของ proxy core — กลไกการเชื่อมต่อ TCP และการส่งต่อข้อมูลระหว่าง WebSocket และ TCP socket รวมถึงการจัดการการเชื่อมต่อแบบพร้อมกันหลาย ๆ รายการ (concurrent connections) และการจัดการข้อผิดพลาด</p>
<p>คุณสามารถดูโค้ดต้นฉบับทั้งหมดได้ที่: <a href="https://github.com/bouroo/rs-wsProxy" target="_blank" rel="noopener noreffer ">https://github.com/bouroo/rs-wsProxy</a></p>]]></description>
</item>
</channel>
</rss>
