Это описание проекта, я работаю над:Что делает функция echo() в этой программе?
задание требует от вас, чтобы написать две программы (EchoClient и echoServer), чтобы продемонстрировать связь между двумя процессами с использованием TCP сокет. Программа echoServer должна принять номер порта (например 6789) в качестве ввода:
$echoServer 6789
Программа EchoClient должна принимать IP-адрес сервера (127.0.0.1) и порт сервера в качестве входного сигнала:
$echoClient 127.0.0.1 6789
echoServer открывает сокет и ожидает запросов от указанного пользователем порта . (Убедитесь, что вы проверили результат привязки. Вы, скорее всего, найдете какие-то программы, которые вы или другие занимали порт уже). Когда соединение успешно выставиться, то echoServer читать, какие данные из сокета, и эхо его обратно, написав «Echo:» где «входных строк» является любыми данных эха-сервер считывает в EchoClient один раз. начинает запускаться, он открывает сокет для подключения к echoServer. Как только он подключается к серверу, отправляет строку на сервер, а затем считывает с ответа с сервера и распечатывает его. Программа echoServer должна поддерживать параллельные запросы . Основная структура сервера обеспечивается как следующее (вам нужно реализовать эхо функции и части основной функции, указанной в комментариях.)
#include<stdio.h>
#include<string.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<unistd.h>
void echo (int sid, char *str);
int main (int argc, char **argv){
int sockid, s;
/* take in user specified port number from commandline argument */
/* set up socket */
int s = socket(PF_INET, SOCK_STREAM, 0);//I added this
while ((s=accept(sockid, ...))>0) {
if (fork()==0){
/* Child process */
read(s, buf ....);
echo(s, buf);
exit();
}
}
}
Мой вопрос: Что такое функция эхо() в вышеуказанной программе? И каковы шаги по реализации этой функции?
Похоже, что из формулировки задания функция 'echo()' - это бит, который вы должны писать, и он должен делать то, что задание говорит, что оно должно ... – twalberg