SHOJI's Code
 仕事や趣味で書いた各種言語のプログラミングコード(エクセルVBA,PHP,C/C++/C#,JavaScript等)、その他雑記。
2017.03<<123456789101112131415161718192021222324252627282930>>2017.05
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

いざWinSockでプログラミングしようとするといつも何をしたらいいのか忘れてる(^^; ということで、備忘録としてシンプルなコードサンプルを載せておくことにする。
#include <windows.h>
#include <stdio.h>

#define LOCALHOST "127.0.0.1"
#define PORT_NO 20000

int main()
{
WSADATA wsaData;
SOCKADDR_IN sa;
SOCKET s;
BYTE buf[32];
DWORD tick;
int ret, n;

// 初期化
ret = WSAStartup(0x0101, &wsaData);
if( ret != 0 ) return -1;

// ソケットの作成
s = socket(PF_INET, SOCK_DGRAM, 0);
if( s == SOCKET_ERROR ) return -1;

// バインド
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = INADDR_ANY;
sa.sin_port = PORT_NO;
ret = bind(s, (SOCKADDR *)&sa, sizeof(sa));
if( ret == SOCKET_ERROR ) return -1;

// 送信先セット
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr(LOCALHOST);
sa.sin_port = PORT_NO;

// 送信
strcpy(buf, "ABC");
ret = sendto(s, buf, strlen(buf)+1, 0, (SOCKADDR *)&sa, sizeof(sa));
if( ret == SOCKET_ERROR ) return -1;

Sleep(1000);

// 受信
n = sizeof(sa);
ret = recvfrom(s, buf, sizeof(buf), 0, (SOCKADDR *)&sa, &n);
if( ret == SOCKET_ERROR ) return -1;

// 受信データの表示
printf("recv data=[%s]\n", buf);

// ソケットの破棄
closesocket(s);

// クリーンアップ
WSACleanup();

return 0;
}


[PR]Winsock関連の書籍
WinSockによるWindowsネットワークプログラミング / アーサー デュマス
インターネットのためのWinsockプログラミング / Dave Roberts
インターネットプログラミング―Winsockを使ったTCP/IPアプリケーションの作成 / クリス ジャムサ、ケン コープ 他
WinSock 2.0 プログラミング―Window Socket APIによるネットワークプログラミングのすべて / 江村 豊、ルイス ナッパー 他

テーマ:プログラミング - ジャンル:コンピュータ
コメント
この記事へのコメント
昔のソースが自分のバイブル
こんにちは、はじめまして。

私も仕事、趣味でプログラムを書いていますけど、結構忘れている事ってありますよね。

だから、昔のソースを引っ張り出してなんてことがよくありますよw
2006/05/23(火) 22:51:39 | URL | WIND-MASTER #yjwl.vYI[ 編集]
コメントありがとうございます
はじめまして。コメントありがとうございます。
WIND-MASTERさんのブログ、拝見させていただきました。
私のブログにはあまりたいしたものはありませんが、よろしければ覗いてやってください(^^)
2006/05/26(金) 19:23:06 | URL | SHOJI #-[ 編集]
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2004-2006 SHOJI, Powered By FC2ブログ all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。