1

次の出力例を参照してください: 接続が拒否されました

私が持っている質問は、s.connect()への最初の呼び出しが「ConnectionRefused」をスローするのに、2番目の呼び出しが「InvalidArgument」をスローする理由です。これは、最初の呼び出しでソケットオブジェクトをある種のエラー状態にするようなものです。リセットする方法はありますか?

ありがとう

4

1 に答える 1

2

あなたはこれを呼んでいます:

s.connect((gethostname(), 4444))

gethostname()サーバーに接続するだけではありません。ソケットの変数を初期化します。

次回呼び出すときはconnectsすでに値がありますが、無効です。だから、あなたは得るInvalid argument

注: connectはとして定義されているため、s.connect()実際には最初の引数としてconnect()withを呼び出します。sdef connect(self, ...)

于 2013-01-15T10:54:53.020 に答える