#include <arpa/inet.h>
#include <sys/socket.h>
#include <unistd.h>
#include <iostream>
using namespace std;
int main(){
int s = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
cout<<"SOCKET ID:"<<s<<endl;
close(s); //socket 닫음
s = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); //socket 생성
cout<<"SOCKET ID:"<<s<<endl;
close(s);// socket 닫음
return 0;
}
(Linux, mac) - socket descriptor는 filed descriptor와 섞여서 쓰인다.
int numBytes = sendto(s,buf.c_str(),buf.length(),0,(struct sockaddr*)&sin,sizeof(sin));
cout << "Sent: "<< numBytes <<endl;
numBytes = recvfrom(s,buf2,sizeof(buf2),0,(struct sockaddr*)&sin,&sin_size);
- UDP는 데이터 전송시 일부만 전송 되지 않는다.(전부 다 전송함)
- UDP는 데이터를 일부만 수신 하는 경우는 없다.(전부다 받거나, 유실되거나)
- UDP는 수신 여부를 알수 없다.