winsock�v���O���~���O

�����ł́AWinSock���g����Windows�l�b�g���[�N�v���O���~���O�̐������s�������Ǝv���܂��B �����őΏۂƂ��Ă���ǎ҂́A�l�b�g���[�N�v���O���~���O���S�ҁi�������͓���ҁj����Windows�‹��Ńv���O���~���O���s�������l�ł��B

WinSock�Ƃ������̂́AWindows Sockets���痈�Ă��܂��B ���O�̒ʂ�AWinsock�̓E�B���h�E�Y�Ń\�P�b�g���g���ăv���O�������������߂�API�iApplication Program Interface�j�ł��B Winsock���g���ƁATCP/IP�ȂǃC���^�[�l�b�g���g���ĒʐM���s���v���O�����������܂��B

�����Ő������s��winsock�̃o�[�W������2.0�ł��B �������A��g�Ɋւ��Ă�version 1.0��2.0�œ�������������̂�1.0�𗘗p������ł��Q�l�ɂ͂Ȃ�Ǝv���܂��B Winsock���Ή�����Windows�̃o�[�W�����Ƃ��Ă�95�A98�AMe�ANT�A2000�AXP�A2003�Aserver�A�ȂǑS�Ẵo�[�W�����ł��B �Ȃ��A����WindowsXP�{Visual Studio .NET 2003�Ƃ����‹��ŃT���v���v���O�������쐬���Ă��܂��B

winsock���g������

winsock���g���ăl�b�g���[�N�v���O���~���O���s���ɂ�winsock.h��������winsock2.h��include���Ȃ��Ă͂����܂���B �ׂ������Ƃ����Ȃ��\��ł���΁A�ǂ����include���Ă������Ă��܂��܂����Awinsock2���g���̂ł����winsock.h����winsock2.h��include���������ǂ��ł��傤�B winsock�@�\���g���\�[�X�R�[�h�̑O���Ɉȉ��̍s��lj����܂��B


#include <winsock2.h>

���ɁAwinsock���C�u�����Ƀ����N����ݒ���s��Ȃ���΂Ȃ�܂���B �u�����J > ���� > �lj�����ˑ��֌W�v��ws2_32.lib��lj����Ă��������B ws2_32.lib�ɂ́A�l�b�g���[�N���g�����߂̃��C�u�������܂܂�Ă��܂��B

�ȏ�̐ݒ��winsock�@�\���g�����v���O�������R���p�C���ł���悤�ɂȂ�܂��B

  • �Ȃ��AC���ꂻ�̂��̂����߂Ă̕��́uC��������v���Q�l�ɂǂ����BWindows��p�ɂ͏����Ă܂��񂪎��C����ŋ��ʂ̕�����������Ă��܂��B

���ۂɃv���O���~���O

�ł́A���ۂɃl�b�g���[�N���g���ĒʐM���s���R�[�h�������Ȃ���winsock�̐��������Ă��������Ǝv���܂��B �ȉ��ɂ́Awinsock�����ł͂Ȃ��ꕔ�l�b�g���[�N���̂Ɋւ���������܂܂�܂��B

�͂��߂�

�T���v���R�[�h���p���@

winsock�S��

Winsock�̏�����

socket�̍쐬

�G���[���e�̎擾

TCP

TCP���g��

TCP���g��(�T�[�o)

TCP���g��(�T�[�o�A�G���[�����t��)

TCP���g��(accept��������̊m�F)

TCP���g��(�T�[�o�ASO_REUSEADDR)

HTTP�T�[�o�̍쐬(TCP�T�[�o�T���v��)

TCP���g��(�N���C�A���g�Ainet_addr�Agethostbyname)

TCP���g��(�N���C�A���g�Agethostbyname)

TCP���g��(�N���C�A���g�A�G���[�����t��)

HTTP�N���C�A���g�̍쐬(TCP�N���C�A���g�T���v��)

HTTP�N���C�A���g�̍쐬(2)

UDP

UDP���g��

UDP�Ńu���[�h�L���X�g���g��

UDP�Ń}���`�L���X�g���g��

���̑�

IP�A�h���X����z�X�g���ւ̕ϊ��igethostbyaddr�j

select�̗��p

select�̗��p(�^�C���A�E�g�t��)

�m���u���b�L���O�ݒ�

IPv6

getaddrinfo�i�P���ȗ�j

getaddrinfo�igetaddrinfo���g����sockaddr���쐬����j

getaddrinfo�i��Ԏg�������ȗ�j

getaddrinfo�iexample.com�̖��O�����j

winsock�̗��Ƃ���

inet_ntoa�̗��Ƃ���

gethostbyname�̗��Ƃ���

setsockopt/getsockopt�{IPPROTO_IP�̗��Ƃ���

�����W

Winsock2�\�P�b�g�֘AAPI

Winsock2 DB �֘AAPI

Winsock2 WSA API

�A�h���X�t�@�~��

�\�P�b�g�^�C�v

winsock�G���[�R�[�h


winsock�֘A���

IPHLPAPI(IP Helper API)

winsock�ł́A�@����̃C���^�[�t�F�[�X�A�o�H�ADNS�ȂǂɊւ�������擾�ł��܂���B �����̏����擾����API�Ƃ��āAWindows�ł�Platform SDK�̒���IP Helper API���񋟂���Ă��܂��B IP Helper API�̐����Ǝg�����Ɋւ��Ă͂�������������������B

�C���^�[�l�b�g����i��b�Z�p�j
�C���^�[�l�b�g�̎d�g�݂����S�Ҍ����ɐ������Ă��܂��B
Windows 2000/XP �l�b�g���[�N�R�}���h
Windows2000/XP���g���ăl�b�g���[�N�̍\�z��g���u���V���[�e�B���O���s����ōŒ���m���Ă��������R�}���h���Љ�Ă��܂��B
�Q�l����
���ڂ���windows�ł̃l�b�g���[�N�v���O���~���O��m�肽���Ƃ������͂�����̎Q�l�������ǂ����B
Visual Studio
�E�B���h�E�Y�v���O���~���O�̕W���‹��ł��B
Linux�l�b�g���[�N�v���O���~���O
Windows�ł͂Ȃ��ALinux�̃l�b�g���[�N�v���O���~���O��m�肽���ꍇ�ɂ͂�������������������B
Perl�l�b�g���[�N�v���O���~���O
Perl�ɂ��l�b�g���[�N�v���O���~���O����ł��B

IPv6��b����

YouTube�`�����l������Ă܂��I