Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * ser1.c - For ICT374 Topic 8
- * Hong Xie
- * Last modified: 16/10/2020
- * test for UNIX domain stream socket (server part)
- * This is a very **crude** program.
- */
- #include <unistd.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <string.h>
- #include <errno.h>
- char serversockname[]="serversocket";
- int main()
- {
- int sd, nsd, n;
- char buf[256];
- struct sockaddr_un server_addr;
- struct sockaddr_un client_addr;
- int client_addr_len;
- /* set up listening socket sd */
- sd = socket(PF_UNIX, SOCK_STREAM, 0);
- /* bind server address to socket sd */
- server_addr.sun_family = PF_UNIX;
- strcpy(server_addr.sun_path, serversockname);
- bind(sd, (struct sockaddr *)&server_addr,sizeof(server_addr));
- /* set socket sd to a listening socket */
- listen(sd, 1);
- /* accept connection request */
- client_addr_len = sizeof(client_addr);
- nsd = accept(sd, (struct sockaddr *)&client_addr, (socklen_t *)&client_addr_len);
- /* data transfer on connected socket ns */
- n = read(nsd, buf, sizeof(buf));
- write(nsd, buf, n);
- exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement