Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/un.h>
- #define SOCK_PATH "/home/threads_loger"
- #define BUF_LEN 256
- int main() {
- int s, t, len;
- struct sockaddr_un remote;
- char buffer[BUF_LEN];
- if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
- perror("socket");
- exit(1);
- }
- std::cout << "Connecting...\n";
- remote.sun_family = AF_UNIX;
- strcpy(remote.sun_path, SOCK_PATH);
- len = strlen(remote.sun_path) + sizeof(remote.sun_family);
- if (connect(s, (struct sockaddr *) &remote, len) == -1) {
- perror("connect");
- exit(1);
- }
- std::cout << "Connected" << std::endl;
- while (1) {
- fgets(buffer, BUF_LEN, stdin);
- if (send(s, buffer, BUF_LEN, 0) == -1) {
- perror("send");
- exit(1);
- }
- // memset(buffer, 0, buf_len);
- while (1) {
- t = recv(s, buffer, BUF_LEN, MSG_WAITALL);
- if (t < 0)
- perror("recv");
- else if (t == 0) {
- printf("Server closed connection\n");
- exit(1);
- }
- printf("%s\n", buffer);
- if(buffer[BUF_LEN - 1])
- break;
- }
- }
- // close(s);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement