服務器設計過程當中踩過的坑兒

1.  6667端口服務器

問題原由:client到server的鏈接異常不穩定,頻繁斷開spa

抓包結果設計


流量分析:client鏈接成功後,向server發送數據,發,發,發...,server返回RST」,鏈接被斷開。server

異常分析:看現象,貌似爲client發送過快,server處理不過來,最後發送「RST,把鏈接重置。但詭異在於,TCP擁有流量控制,使用滑動窗口機制。即使須要斷開鏈接,也不該是RST」如此暴力的方式。且程序中並未對套接字設置「linger」選項。cli


謎底揭祕搜索

Google之"Wireshark IRC"程序


IRC協議的描述爲,IRC」使用「TCP」做爲傳輸協議,默認端口爲「6667」。至此真相大白。im

server使用的端口爲「6667」,恰好撞上IRC」的默認端口。數據


至此,咱們收穫以下協議

①經過端口「6667」的數據傳輸,自動轉爲IRC」協議;

②服務器設計中不要使用端口「6667


對端口「6667」的搜索結果顯示


相關文章
相關標籤/搜索