通信エクステンションを使用している時にホストとクライアント間で通信エラーが発生した場合、TCP/IPソフトウェアから戻されるエラーは、標準のAPPCエラー・コードにマップされます。
よく経験するAPPC エラーコードは20, 6, 17 です。通常、問題の原因を知るためには、この APPC コードで十分です。簡単な解決策は以下の通りです。
APPC エラー・コード | 考えられる原因 |
|---|---|
20 | アプリケーションがリスナーに接続できなかったことを示します。リスナーが実行されているかチェックし、サーバーのリスナーポートにファイアウォールの問題がないかも確認して下さい。 |
6 | ログイン確認時のエラーを示します。ユーザー名とパスワードが正しい場合はサーバーでLANSA 通信のトレースを利用し、エラーの原因を確かめて下さい。 |
17 | ログイン確認後、サーバー上で予期せぬエラーが生じたことを示します。サーバー上のジョブログ joblog/x_err.log で何が問題だったのかを確認して下さい。 |
この情報が十分でなく、問題が再現できる場合は、"エラー"トレースをオンにして、もとのエラーは何なのかということを突きとめる必要があります。(詳しくは、「2.4 モジュールのログおよびトレース」のセクションを参照してください。)"エラー"トレースをオンにすると、トレース・ファイルに以下のようなエントリーが現れます:
02/06/97 16:12:39 testw32(0xa2:0x9f):LCOSlapi:Error:COMM_Allocate
Native Error:10061 CPIC Error:20 in connect
"Native Error"とは、通信ソフトウェアにより戻されたもとのエラーです。この例では、「ホストがソケット・ポート4545上での実行に必要な"リスナー"を実行していなかったため、"接続"要求でエラー・コード10061(WSAECONNREFUSED)が発生した」ということを表します。
以下の表は、WSAGetLastError()(Winsock)コールによって戻されるエラー・コードとそれらの説明をリストアップしたものです。これらのエラー番号は、全てのWindowsソケット準拠のインプリメンテーションを通じて一貫したものです。
エラー・コード | Windows ソケット・コード | Berkeley 対応 | 説明 |
|---|---|---|---|
10004 | WSAEINTR | EINTR | 標準 C |
10009 | WSAEBADF | EBADF | 標準C |
10013 | WSEACCES | EACCES | 標準 C |
10014 | WSAEFAULT | EFAULT | 標準 C |
10022 | WSAEINVAL | EINVAL | 標準 C |
10024 | WSAEMFILE | EMFILE | 標準 C |
10035 | WSAEWOULDBLOCK | EWOULDBLOCK | 標準 C |
10036 | WSAEINPROGRESS | EINPROGRESS | |
10037 | WSAEALREADY | EALREADY | BSD |
10038 | WSAENOTSOCK | ENOTSOCK | BSD |
10039 | WSAEDESTADDRREQ | EDESTADDRREQ | BSD |
10040 | WSAEMSGSIZE | EMSGSIZE | BSD |
10041 | WSAEPROTOTYPE | EPROTOTYPE | BSD |
10042 | WSAENOPROTOOPT | ENOPROTOOPT | BSD |
10043 | WSAEPROTONOSUPPORT | EPROTONOSUPPORT | BSD |
10044 | WSAESOCKTNOSUPPORT | ESOCKTNOSUPPORT | BSD |
10045 | WSAEOPNOTSUPP | EOPNOTSUPP | BSD |
10046 | WSAEPFNOSUPPORT | EPFNOSUPPORT | BSD |
10047 | WSAEAFNOSUPPORT | EAFNOSUPPORT | BSD |
10048 | WSAEADDRINUSE | EADDRINUSE | BSD |
10049 | WSAEADDRNOTAVAIL | EADDRNOTAVAIL | BSD |
10050 | WSAENETDOWN | ENETDOWN | BSD |
10051 | WSAENETUNREACH | ENETUNREACH | BSD |
10052 | WSAENETRESET | ENETRESET | BSD |
10053 | WSAECONNABORTED | ECONNABORTED | BSD |
10054 | WSAECONNRESET | ECONNRESET | BSD |
10055 | WSAENOBUFS | ENOBUFS | BSD |
10056 | WSAEISCONN | EISCONN | BSD |
10057 | WSAENOTCONN | ENOTCONN | BSD |
10058 | WSAESHUTDOWN | ESHUTDOWN | BSD |
10059 | WSAETOOMANYREFS | ETOOMANYREFS | BSD |
10060 | WSAETIMEDOUT | ETIMEDOUT | BSD |
10061 | WSAECONNREFUSED | ECONNREFUSED | BSD |
10062 | WSAELOOP | ELOOP | BSD |
10063 | WSAENAMETOOLONG | ENAMETOOLONG | BSD |
10064 | WSAEHOSTDOWN | EHOSTDOWN | BSD |
10065 | WSAEHOSTUNREACH | EHOSTUNREACH | BSD |
10091 | WSASYSNOTREADY | ネットワーク・サブシステムが使用できない | |
10092 | WSAVERNOTSUPPORTED | Windows ソケットのDLLがこのアプリケーションをサポートしていない | |
10093 | WSANOTINITIALISED | ||
11001 | WSAHOST_NOT_FOUND | HOST_NOT_FOUND | BSD |
11002 | WSATRY_AGAIN | TRY_AGAIN | BSD |
11003 | WSANO_RECOVERY | NO_RECOVERY | BSD |
11004 | WSANO_DATA | NO_DATA | BSD |