2011-12-06 33 views
1

我們的學校項目是一個BitTorrent客戶端。今天我突然得到了一個{tcp_error,#Port<0.2095>,emsgsize}錯誤,我的問題是什麼導致了這個錯誤?我有option {packet,4}gen_tcp所以我的猜測是封裝的長度不匹配4個第一個字節?這真是太奇怪了,因爲除握手之外的所有BitTorrent消息都有前4個字節的len。昨天我們能夠下載,現在我收到了這些消息。請注意,一些消息到達很好。感謝您對這個問題的想法。什麼是erlang emsgsize?

+0

也許你嘗試發送/接收大小超過2GB的消息? – W55tKQbuRu28Q4xv

回答

0

當數據包大於接收緩衝區(recbuf選項)或數據包大於指定的最大數據包大小(packet_size選項)時,您將收到emsgsize錯誤。

0

可能其中一個數據包沒有發送正確的頭文件,Erlang將其解釋爲聲稱數據包非常大的頭文件。