酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

ネットワークプログラミング指南 その3 定石

(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;
}