色々ごちゃごちゃしたことをしていますが、ここで重要なのは最初と最後の部分。
/* コネクションの確立 */
char *addres = "127.0.0.1"; /* 接続先のアドレス */
unsigned short port = 12345; /* 接続先のポート番号 */
struct sockaddr_in serv_addr;
int re;serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons( port );/* serv_addr.sin_addrの決定の仕方がUNIX系とWindows系 で異なります。*/
/* UNIXここから */
re = inet_aton( addres , &(serv_addr.sin_addr) );
if( re == 0 ){
/* エラー */
}
/* UNIXここまで *//* Windowsここから */
serv_addr.sin_addr.s_addr = inet_addr( addres );
if( serv_addr.sin_addr.s_addr == INADDR_NONE ){
/* エラー */
}
/* Windowsここまで *//* 以下共通 */
/* 接続を確立する */
re = connect( fd , &serv_addr , sizeof( serv_addr ) );
if( re < 0 ){
/* エラー */
}
addresとportに接続先のサーバのアドレスを指定して、connect関数を呼び出すことで接 続を確立します。中間部分はconnectに渡す引数を変数addresとportから導出する処理 がかかれています。
/* 重要な部分 */
char *addres = "127.0.0.1"; /* 接続先のアドレス */
unsigned short port = 12345; /* 接続先のポート番号 */
:
:
:
/* 接続を確立する */
re = connect( fd , &serv_addr , sizeof( serv_addr ) );