ここから本文です

pythonのソケットモジュールにある、

ken********さん

2016/9/1316:54:33

pythonのソケットモジュールにある、

send()と、sendall()はどこが違うのですか?

閲覧数:
237
回答数:
1

違反報告

ベストアンサーに選ばれた回答

mag********さん

2016/9/1317:54:55

■ send()

C言語のソケット関数スタイルの低水準API

https://linuxjm.osdn.jp/html/LDP_man-pages/man2/send.2.html

この関数の場合、引数に渡されたデータは全て送信される保障はない。
(与えたデータのサイズより短い量のデータが送信されるかもしれない)
その代わりとして、実際に送信されたデータサイズが戻り値として得られる。


■ sendall()

Python用のAPIとして実装された高水準API

エラーが発生しない限り引数に渡されたデータが全て送信される。
このAPIはデータ送信が完了するか、エラー(例外)が発生するまでブロックされる(処理が戻らない)。
戻り値としては常に None が返ってくるので送信されたデータサイズを知る事はできない。


詳細はドキュメントをごらん下さい。

http://docs.python.jp/2/library/socket.html

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる