UDP�̃v���O�����̉��

  �T�v   ���M
�v���O����
  ��M
�v���O����
  ���

��M�v���O�����̉��

�܂���M�v���O�����ł́A�G���h�|�C���g�̃\�P�b�g�����A ����Ƀ|�[�g�ƃA�h���X��ݒ肵�܂�.

  udp_socket = socket(AF_INET, SOCK_DGRAM,0);

  bzero((char *) &from_addr,sizeof(from_addr));
  my_addr.sin_family = AF_INET;
  my_addr.sin_addr.s_addr = htonl(INADDR_ANY);
  my_addr.sin_port = htons(WAIT_PORT);

  bind(udp_socket, (struct sockaddr *) &my_addr, sizeof(my_addr));

������bind()���I�����āA�A�h���X�ƃ|�[�g���ݒ肳�ꂽ���_�� UPD�p�P�b�g�͎󂯕t����ԂɂȂ�܂��B ����Ȍ�A���̃}�V�����Ẵf�[�^�O�������͂�����,OS�̓v���O������ �������M����܂ŕۑ����Ă���܂��B

��͈ȉ��̂悤�ɂ��āAOS���ۑ����Ă���Ă����M�p�P�b�g�����o�� �����ł��B

  n = recvfrom(udp_socket,buf,BUFLEN,flag,&from_addr,&from_len);

�܂��f�[�^���͂��Ă��Ȃ��ꍇ�ɂ̓u���b�N����A �����Ńf�[�^���͂��܂Ńv���O�����͒�~���܂��B

���M�v���O�����̉��

���M�v���O�����ł܂�OS�Ƀf�[�^��n�����߂̃\�P�b�g�����A ���Đ�̃}�V���̃|�[�g�ƃA�h���X���擾���܂�.

  udp_socket = socket(AF_INET,SOCK_DGRAM,0);

  bzero((char *) &dest_addr, sizeof(dest_addr));
  dest_addr.sin_family = AF_INET;
  dest_host = gethostbyname(DEST_HOSTNAME);
  bcopy(dest_host->h_addr,(char *)&dest_addr.sin_addr,dest_host->h_length);
  dest_addr.sin_port = htons(DEST_PORT);

���,�쐬�����\�P�b�g���Đ�}�V�����ĂɁAsendto()��p���� �f�[�^�𑗐M���邾���ł��B

  message = "Hello!\n";
  sendto(udp_socket,message,strlen(message),0,&dest_addr,sizeof(dest_addr));

�͂������ǂ����m�F�����i�͂���܂���B ��M�v���O������bind()���Ă��Ȃ��|�[�g���Ăɑ������f�[�^�� �����Ă��܂��܂��B

FC Lab�̃z�[���� �u�l�b�g���[�N�v���O���~���O�v�̃y�[�W��