TCPをつかったマップデータの送受信も実装しホッと一安心しているのも
しばらくの間でした。
ローカルな環境では、100%の成功率でTCP/IPなので
送受信に失敗などありえないと思い込んでいました。
ところが、グローバルな環境に接続したらなんと、データがほぼ破壊されて
届いてるではないですか、これには参りました。
原因は、1MBのデータかと思っていました。
winsockはデフォルトでは8KBが最大となっているので
7KBにデータを落として送信してみても、やはりダメでした。
とはいっても1MBの時とは違い10回のうち4回ほどが失敗するだけでした。
しかし、マップデータに失敗があっては大変なことです。
ここは、送受信の考え方を変えないと前には進めそうにないようです。
サーバー側の送信データは、壊れていない。
クライアントの受信データが壊れている。
といことは、確認できているのですが、受信側で壊れているのでは、
送信側も考える必要がありそうです。
やはり、細切れに送信して、受信で合体ですね。
TCP/IPは、データーの再送信や分割送信などがあり
UDPよりは信頼性が高いだけで、信用できることとは、ちょっと違うことを学びました。
書籍などの信頼性とは、こういう意味なのだとわかりました。
だから、FTPやHTTP、SMTP/POP3などのプロトコルもあるのですね。
やはり、予想道理でとても高い山になりそうです。
超えるのは、いつになるのか、ローカル環境で再現できないのがイタイです><
2012/06/09
コメントはまだありません。