![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| HP - UX HP - UXの(ヒューレットパッカードのUNIX )のHewlett - PackardのUNIXオペレーティングシステムの独自の実装、システムの五に基づい |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| ソケットを読んで問題 | swap007 | UNIXの詳細&エキスパートのためのユーザー | 2 | 2008年5月21日 01:08午前 |
| HTTPのkeep - aliveのソケットの問題 | imdupeng | 高レベルのプログラミング | 0 | 2008年3月29日 09:11午後 |
| ソケット通信ではなく、書面 | madfox | 高レベルのプログラミング | 2 | 2007年12月4日 03:44午後 |
| 問題はソケットに接続する | Stevhp | 高レベルのプログラミング | 6 | 2007年4月30日 07:27午後 |
| ソケットの問題 | Agent007 | 高レベルのプログラミング | 3 | 2004年4月3日 08:15午後 |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
||||
|
当社のシステムは、サーバと複数のクライアントをしている。私たちは、クライアントFDsのHPで選択( )システムコール- UXへの使用を監視している。
接続を確立した後は、リモートクライアントとのソケットを使用して、スタートを選択してください( )呼び出しを使用してソケットの状態をチェックされているデータを送信する前に。 ( )の呼び出しを選択する最初の16クライアントではブロック解除され、 FD_ISSET ( )成功を返す。 (それ)は、両方のHPに戻っているが、負の値を選択して17日以降のクライアントからの( )さんのブロックを解除され、 FD_ISSET ( )は成功を収めています戻る- UXの11および11i 。しかし、同じロジックが罰金のSolaris 、 AIXのは、 Linuxで1024クライアントまで動作します。 ソースコードの下に記載され 以下、この問題を是正するためにどのように伝えます。 fd_set Writefds ; タイムアウトtimeval構造体; INTはRetCode ; INTはRetValue ; INTはSockDesc ; 構造体sockaddr_inクライアント; 文字BulkData [ 5000 ] \u003d "謝辞" ; INTはretVal ; INTはclientlen \u003d sizeof ( sockaddr_in構造体) ; client.sin_family \u003d AF_INET ; client.sin_addr.s_addr \u003dがINADDR_ANY ; client.sin_port \u003d htons ( SERVER_PORT ) ; SockDesc \u003dソケット( AF_INET 、 SOCK_STREAM 、 0 ) ; ( SockDesc 、 &クライアント、 ( socklen_tを) clientlen ) ;接続 Timeout.tv_sec \u003d 0 ; Timeout.tv_usec \u003d 0 ; FD_ZERO ( & Writefds ) ; FD_SET ( SockDesc 、 & Writefds ) ; RetCode \u003dを選択してください( 0 、 NULLを、 & Writefds 、 NULLを、 &タイムアウト) ; もし( RetCode > 0 ) ( retVal \u003d FD_ISSET ( SockDesc 、 & Writefds ) ; ( retVal > 0 ) ( ( SockDesc 、 szBulkData 、 ( size_tの) sizeof ( ) szBulkData 、 0 ) ;送る ) その他の ( printf ( " FD_ISSET失敗しました: % d個の\ Ñ " 、 retVal ) ; ) ) 他の場合( RetCode \u003d\u003d -1 ) ( printf ( "選択を返すエラー: % d個の\ N "の、 errno) ; ) 他の場合( RetCode \u003d\u003d 0 ) ( printf ( "選択リターン0 [タイムアウトが発生しました。 \ Ñ " ) ; ) |
| ブックマーク |
| スレッドツール | このスレッドを検索 |
| 表示モード | このスレッド |
|
|