Nanashi-softプログラマ専用Windows gcc SDL


◇Windowsでgcc+SDL -SDL_netでHttp通信-

前回は通信の方法を説明しました
今回はその中身の話をhttpアクセスを例に説明します

Http通信は、WWWブラウザがサーバーに問い合わせる際に使用するプロトコルです
1回アクセスする毎にコネクションを切るので、わかりやすいプログラミングになります
通信の練習台としてやり易いでしょう

○http通信の基礎

まずは、Httpのやり取りを知らなければなりません
パソコンからサーバに問い合わせる際には、GETとPOSTがあります

・GETの場合

GET / http/1.0\n
\n

・POSTの場合

POST / http/1.0\n
Content-length:8\n
\n
hikisu=a\n
\n

最後にエンターだけのアクセスは必要なものです
どちらも、この後でサーバからの返答を受け取ります

○http通信をプログラミング

プログラミングを行う際には、中身の文字列が異なるだけで、やり方は同じです

  //GETを送信
  char outmsg[256];
  strcpy(outmsg, "GET http://www.google.co.jp/ HTTP/1.0\n\n");
  SDLNet_TCP_Send(sock, outmsg, strlen(outmsg));

  //サーバーからの応答を受け取る
  char inmsg[10240];
  int reclen= SDLNet_TCP_Recv(sock, inmsg, sizeof(inmsg));


ググってみます
最初に取り出したフォームの内容を見て、GETすれば良いだけです

  strcpy(outmsg, "GET http://www.google.co.jp/search?hl=ja&q=Nanashi-soft&btnG=Google HTTP/1.0\n\n");

サーバーからの応答のサイズが大きいので、こまめに取り出すか、もっとinmsg変数のサイズを大きくする必要があります

この要領で、どのサイトにでもアクセス可能なはずです


TOPプログラマ専用Windows gcc SDL