network2020. 7. 21. 11:44

 

 

 

uds.zip
0.02MB

 

다음과 같이 sendmsg 로 보낸 메시지를 recv 함수를 통해 받을 수 있다.

struct msghdr msg를 이용해 recvmsg를 쓰지 않아도 된다는 것이 확인되었음.

구글 검색으로는 관련 내용이 없는데, 앞으로 이유까지 찾아볼 여유가 있을지 모르겠다.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
int SendMsg(int fd, const void *buf, size_t count)
{
    struct msghdr msg;
    struct iovec iv;
    int n;
 
    memset(&msg, 0, sizeof(msg));
    iv.iov_base = (void*)buf;
    iv.iov_len  = count;
    msg.msg_iov = &iv;
    msg.msg_iovlen = 1;
    n = sendmsg(fd, &msg, MSG_NOSIGNAL);
    if (n < 0) {
        return -1;
    }
    return 0;
}
 
 
 
#client
    SendMsg(client_socket, argv[1], strlen(argv[1])+1);    
    recv (client_socket, buff, BUFF_SIZE, 0);
    printf("receive: %s\n", buff);
 
     
#server
    recv (client_socket, buff_rcv, BUFF_SIZE, 0);
    printf("receive: %s\n", buff_rcv);
    SendMsg(client_socket, buff_rcv, strlen(buff_rcv)+1);
 
    

'network' 카테고리의 다른 글

내부망/외부망 함께 사용  (0) 2020.04.13
About ping DUP(duplicated) packets  (0) 2019.12.05
iptables 방화벽 설정관련 예제  (0) 2019.05.13
Cloud gaming  (0) 2019.03.04
NAS SAN 비교  (0) 2019.03.01
Posted by easy16