Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Client*/
- #include <sys/socket.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <netinet/in.h>
- #include <string.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <arpa/inet.h>
- #include <netdb.h>
- #include <unistd.h>
- void error(char *msg)
- {
- perror(msg); // идентификация ошибки с выводом сообщения
- exit(0);
- }
- int main(int argc , char *argv[])
- {
- struct sockaddr_in name;
- int s = 0, sum = 0;
- int n;
- int sd = socket(AF_INET , SOCK_STREAM , 0); // создание сокета
- if (sd < 0) // проверка подключения
- {
- error("Error: can't open socket\n");
- }
- name.sin_family=AF_INET;
- name.sin_port=htons(3000);
- name.sin_addr.s_addr=inet_addr("127.0.0.1");
- // Запрос связи с существующим программным гнездом со стороны процесса-клиента
- int d = connect(sd, (struct sockaddr *)&name, sizeof(name));
- if (d < 0)
- {
- error("Error: can't open socket\n");
- }
- else
- {
- /* ПЕРЕДАЧА ЧИСЛА write()*/
- char buf[1024];
- scanf("%s", buf);
- n = send(sd, buf, sizeof(buf), MSG_OOB);
- if (n < 0)
- {
- error("Error writing to socket\n");
- }
- /* ПРИЁМ ЧИСЛА read()*/
- n = read(sd, &sum, sizeof(sum));
- if (n < 0)
- {
- error("Error reading from socket\n");
- }
- printf("%i", sum);
- }
- close(sd);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement