The UNIX and Linux Forums  


Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > UNIXの詳細&エキスパートのためのユーザー
Googleのunix.com



UNIXの詳細&エキスパートのためのユーザー 専門家への専門家。先進のUNIXは、 UNIXのコマンドは、 Linux 、オペレーティングシステム、システム管理、プログラミング、シェル、シェルスクリプトは、 Solarisのは、 Linux 、 HP - UXのは、 AIXので、 OS X 、 BSDのこちらをご覧ください。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
問題のHPのUnixでは、ソケットに書く AshokG HP - UX 0 2005年2月25日 02:19午前
ソケットプログラミングソケット soshell 高レベルのプログラミング 2 2004年6月29日 08:49午前
UNIXでプログラムがソケットをどのようにできるか? sanjohn 高レベルのプログラミング 7 2002年6月21日 12:26午前
どのようにソケットを使用するように niuzefeng 高レベルのプログラミング 1 2001年6月30日 02:15午後
ソケット アミン IPネットワーク 1 2001年2月10日 04:45午後

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年5月20日
bounkolh bounkolh is offline
登録ユーザー
  
 

参加日: 2008年5月
記事: 1
Unixの:ソケット&共同

こんにちは、
私が必要とする.................交換に役立つclient.cの要求は、サーバーによって実装さserver.c

------------------
リスト1 - server.c

/ *インクルードデdifférentesライブラリーnécessaires * /
#含まれ<stdio.h>
#含まれ<stdlib.h>
#含まれ<unistd.h>
#含まれ<string.h>

#含まれ<sys/types.h>
#含まれ<sys/socket.h>
#含まれ<netinet.in.h>
#含まれ<arpa.inet.h>

INTはメイン( INTはargc 、文字* argv [ ] )

INTは解像度;
/ * Operandes * /
buf AとB 、 INTは;
/ *ソケットの周囲にアンおいまわすserveur * /
INTはserv_sock ;
/ *ソケットの周囲にアンおいまわすクライアント* /
INTはcli_sock ;
/ *住所デラdistanteソケット* /
構造体sockaddr_in localaddr ;
/ *長たらしデl'住所* /
socklen_tをlocaladdr_len ;
/ *長たらしデl'住所* /
socklen_tをdistaddr_len ;
localaddr_len \u003d sizeof ( localaddr ) ;

/ *下ごしらえデラソケット* /
serv_sock \u003dソケット( AF_INET.SOCK_STREAM 、 0 ) ;
もし( serv_sock \u003dソケット( AF_INET.SOCK_STREAM 、 0 ) ;
( serv_sock \u003d\u003d -1 ) (
perror ( ''デcreerラソケット'' )インポッシブル
出口( -1 ) ;

/ *下ごしらえデラ構造décrivant l'住所
*エルポートqui seront associés àラソケット* /
bzero ( (文字* ) & localaddr 、 localaddr_len ) ;
/ * Protocoleインターネット* /
localaddr.sin_family \u003d AF.INET ;
/ * écouteデブークレ毛糸のロケールでシュールl'住所* /
localaddr.sin_addr.s_addr \u003d inet_addr ( '' 127.0.0.1 '' ) ;
/ * écouteでシュールルポート1234 * /
localaddr.sin_port \u003d htons ( 1234 ) ;

ラソケットオーポート1234シュール官/ *
* l'住所ロケール127.0.0.1 * /
(バインド( serv_sock 、もし
(構造体sockaddr * ) & localaddr 、
localaddr_len ) \u003d\u003d -1 ) (
perror ( ''インポッシブルd' attacherラソケット'' ) ;
出口( -1 ) ;

/ *下ごしらえデl' écouteシュールラソケット* /
場合( ( serv_sock 、 1 ) \u003d\u003d -1 )試聴(
perror ( '' d' écouterシュールラソケット'' )インポッシブル;
出口( -1 ) ;

/ * * accepteレentrantes接続のオン/
cli_sock ( serv_sock 、受け入れる\u003d
(構造体sockaddr * ) & distaddr 、
& distaddr_len ) ;
( cli_sock \u003d\u003d -1 ) (
perror ( '' Erreurデかかわりデュクライアント'' ) ;
出口( -1 ) ;

/ * recoitラプルミエールoperande * /
解像度\u003d recvを( cli_sock 、 &buf; sizeof ( INTは) 、 0 ) ;
(解像度! \u003d sizeof ( INTは) ) (
perror ( '' Donnees recues incorrectes '' ) ;
近い( serv_sock ) ;
出口( -1 ) ;

一\u003d ntohl ( ) buf ;
printf ( '' Recu : % d個/ Ñ '' 、 1 ) ;

/ * recoitラドゥジュームoperande * /
解像度\u003d recvを( cli_sock 、 & buf 、 sizeof ( ) 、 0 ) ;
(解像度! \u003d sizeof ( INTは) ) (
perror ( '' Donnees recues incorrectes '' ) ;
近い( serv_sock ) ;
出口( -1 ) ;

b \u003d ntohl ( buf ) ;
printf ( '' Recu : % d個の\ Ñ '' 、イ) ;

buf \u003d htonl (ア+イ) ;
printf ( ''別れの言葉: % d個の\ Ñ '' 、 1 + 2 ) ;
/ * * envoieルによるオン/
解像度( cli_sock 、 & buf 、 sizeof ( INTは) 、 0 )を送信する\u003d ;
(解像度! \u003d sizeof ( INTは) ) (
perror ( '' Erreurデ伝送デdonnees '' ) ;
近い( serv_sock ) ;
出口( -1 )

近い( serv_sock ) ;
近い( cli_sock ) ;
リターン( ) ;

-----------------
リスト2 - client.c

/ /インクルードデdifférentesライブラリーnecessaires
#含まれ<stdio.h>
#含まれ<stdlib.h>
#含まれ<unistd.h>
#含まれ<string.h>

#含まれ<sys/types.h>
#含まれ<sys/socket.h>

#含まれ<netinet/in.h>
#含まれ<arpa/inet.h>

INTはメイン( INTはargc 、文字* argv [ ] )

INTは解像度;
/ * Operandes * /
buf AとB 、 INTは;
/ *ソケットの周囲にアンコートserveur * /
INTはserv_sock ;
/ *ソケットの周囲にアンコートクライアント* /
INTはcli_sock ;
/ *住所デラdistanteソケット* /
構造体sockaddr_in distaddr ;
/ *長たらしデl'住所* /
socklen_tをdistaddr_len ;
distaddr_len \u003d sizeof ( distaddr ) ;

一\u003d htonl ( 123 ) ;
b \u003d btonl ( 124 ) ;

/ *創作デラソケット* /
cli.sock \u003d .............................
( cli_sock \u003d\u003d -1 ) (
perror ( ''デcreerラソケット'' )インポッシブル;
出口( -1 ) ;

/ *下ごしらえデラ構造decrivant
*住所エl'ルポートqui seront associes
*アラソケット* /
bzero ( (文字* ) & distaddr 、 distaddr_len ) ;
/ * Protocoleインターネット* /
distaddr.sin_family \u003d .......................
/ *登録connecteシュールロケール* l'住所デブークレ毛糸のオン/
distaddr.sin_addr.s_addr \u003d inet_addr ( '' 127.0.0.1 " ) ;
/ *登録connecteシュールルポート1234 * /
distaddr.sin.port \u003d .............................
/ *コネクションオーserveur * /
serv_sock \u003d ....................................
( serv_sock \u003d\u003d -1 ) (
perror ( ''インポッシブルデ登録connecter '' ) ;

/ *別れの言葉ラプレミアoperande * /
解像度\u003d .....................................
(解像度! \u003d sizeof ( INTは) ) (
perror ( ''インポッシブルd' envoyerレdonnees '' ) ;
近い( cli_sock ) ;
出口( -1 ) ;


/ * envoieラseconde operande * /
解像度( cli_sock 、 &送る\u003d bの、 sizeof ( INTは) 、 0 ) ;
(解像度! \u003d sizeof ( INTは) ) (
perror ( ''インポッシブルd' envoyerレdonnees '' ) ;
近い( cli_sock ) ;
出口( -1 ) ;

/ * * recupereルによるオン/
解像度\u003d ....................................
(解像度! \u003d sizeof ( INTは) ) (
perror ( ''インポッシブルデリラレdonnees '' ) ;
近い( cli_sock ) ;
出口( -1 ) ;

printf ( ''による: % d個の\ Ñ '' 、 ntohl ( buf ) ) ;
.............................
近い( serv_sock ) ;
戻り0 ;
 

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 06:29午後


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0