我在學習http服務器的程序中遇到了一點困難。
我在accept到一個套接字的時候,新建了一個執行緒去和這個瀏覽器進行資料交換。
瀏覽器打開服務器的index.html會一下子請求許多張圖片。
什么情況下可以close掉套接字?總不能一直連著把?
我的index.html里面的圖片,如果在網頁里出現兩次,則會下載不了。
我用printf列印下來了,發現服務器并沒有收到這兩個圖片請求,
其他只有出現一次的圖片都正常下載到了
可能哪里寫錯了。
請問這里應該注意哪些問題呢?
============================
更新:listenfd = socket() 這個套接字我是一直沒關的。
但是clientfd = accept(); 這個套接字我用完就關掉了。以上問題就解決了。
但是聽說http 1.1 是長連接,不需要關閉套接字的。我有點被搞蒙了。
請問真的不需要把clientfd給close掉么?如果真是這樣,那么如何解決我上面出現的狀況》?
uj5u.com熱心網友回復:
圖片的資料收完后就可以關閉了的啊uj5u.com熱心網友回復:
不需要關閉套接字指的是服務端吧。。。不關閉客戶套接字怎么進行下一次傳輸啊。。uj5u.com熱心網友回復:
同一頁面上的圖片正常的瀏覽器只會請求一次的吧?當資料接識訓者發送完畢就可以close了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/140019.html
標籤:網絡通信
上一篇:第一個正式博客
