(2011/12/24 追記) 旧ブログから記事を移行しています。
C言語を始めてまだ1ヶ月もたたない人間がネットワークプログラムを極めようとするこの一見無茶な試みがどうして成功するのであろうか(いや、しない)ってことで、Winsock2を使ったプログラミングの定石です。
Winsockは初期化しないと使えないらしく必ず初期化を行いましょう。あと、後処理を競ってですることを覚えておいた方がよさげです。
通信関係はCの入門書には載ってない事なので、この下記に出てくる言葉は全て新語なわけです。また勉強をしないと何がどういう機能を持った関数なのかわけわかめです。
#include< stdio.h> #include< winsock2.h> int main (int srgc, char *argv[] ) { WSADATA wsadata; WORD wversion = MAKEWORD( 2, 0 ); int nError; //Winsockを初期化 nError = WSAStartup( wversion, &wsadata); if ( nError ) { fprintf( stderr, "WSAStartup error\n"); return(-1); } //Winsockのバージョン確認 if ( wversion != wsadata.wVersion ) { fprintf( stderr, "Winsock version error\n"); return(-1); } //Winsock後処理 WSACleanup(); return 0; }