[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 07/09 05:34 / Filesize : 231 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build59



960 名前:shinnichi [2007/12/05(水) 11:18:58 ]
winsockで1対多のチャットプログラムを作ろうとしているのですが、上手くいかず困っています。
とりあえず以下のプログラムを作成して実験してみたのですが、

struct sockaddr_in addr1,addr2;
struct sockaddr_in client1,client2;
int len;
SOCKET sock1,sock2;

// 1
sock1 = socket( AF_INET , SOCK_STREAM , 0 );
addr1.sin_family = AF_INET;
addr1.sin_port = htons( 12345 );
addr1.sin_addr.S_un.S_addr = INADDR_ANY;
bind( sock1 , ( struct sockaddr * )&addr1 , sizeof( addr1 ) );
listen( sock1 , 1 );
len = sizeof( client1 );
sock1 = accept( sock1 , ( struct sockaddr * )&client1 , &len );

// 2
sock2 = socket( AF_INET , SOCK_STREAM , 0 );
addr2.sin_family = AF_INET;
addr2.sin_port = htons( 12345 );
addr2.sin_addr.S_un.S_addr = INADDR_ANY;
bind( sock2 , ( struct sockaddr * )&addr2 , sizeof( addr2 ) );
listen( sock2 , 1 );
len = sizeof( client2 );
sock2 = accept( sock2 , ( struct sockaddr * )&client2 , &len );

// 1 のときにはacceptで待機し、クライアントからコネクションすると接続され // 2 が実行されるのですが、// 2のacceptでは待機してくれません(クライアントからコネクションしなくても流れていってしまう)。
理由が分からず困っています。
どなたか解る人がいましたらご教授願います。







[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<231KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef