Форумы-->Форум для внеигровых тем--> 1|2|3
Автор | Тема для программистов |
для KoNniK:
Из-за введения болонской системы обучения курс лекций и предметов сократился и перемешался, поэтому "написание клиента-сервера" получил раньше, чем узнал все про "сети"
В задании сказано "Створити сервер, що очікує підключення до інтернет сокета", а я без понятия чего и как, вот и ищу помощи всеми возможными способами)) | Створити сервер, що очікує підключення до інтернет сокета
а по русски? йа как бы диалектов кроме русского и аглицкого не понимаю %)
честно прочитал что-то про то, что сервер очкует подключацца до интернет сокета %) | Создать сервер, который ожидает подключение к интернет сокету | это все задание? без конкретики? О_о | а вообще ожидание подключения по моему listen | А дельта уже не актуальна? | взято с педивикии, не проверял, голова трещит по швам после вчерашнего, глянь может поможет.
/* Код сервера на языке Си */
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main( void )
{
struct sockaddr_in stSockAddr;
int i32SocketFD = socket( PF_INET, SOCK_STREAM, IPPROTO_TCP );
if ( i32SocketFD == -1 )
{
perror( "ошибка при создании сокета" );
exit( EXIT_FAILURE );
}
memset( &stSockAddr, 0, sizeof( stSockAddr ) );
stSockAddr.sin_family = PF_INET;
stSockAddr.sin_port = htons( 1100 );
stSockAddr.sin_addr.s_addr = INADDR_ANY;
if (
bind(
i32SocketFD,
( const void* )&stSockAddr, /* зачем приведение типа? */
sizeof( stSockAddr )
) == -1
)
{
perror( "ошибка связывания" );
CloseSocketAndExitWithFailure:
close( i32SocketFD );
exit( EXIT_FAILURE );
}
if ( listen( i32SocketFD, 10 ) == -1 )
{
perror( "ошибка прослушивания" );
goto CloseSocketAndExitWithFailure;
}
for(;;)
{
int i32ConnectFD = accept( i32SocketFD, 0, 0 );
if ( i32ConnectFD < 0 )
{
perror( "ошибка принятия" );
close( i32ConnectFD ); /* нужно ли закрывать сокет после ошибки? */
goto CloseSocketAndExitWithFailure;
}
/* выполнение операций чтения и записи ... */
shutdown( i32ConnectFD, SHUT_RDWR );
close( i32ConnectFD );
}
return 0;
} | конкретика есть
Вот часть задания, оно разбито по пунктам
1. Создать сервер, который ожидает подключение к интернет сокету по адресу 0.0.0.0 на порту 8888 и принимает команды ls cd cat
2. Создать клиент, который будет подключатся к серверу(задается в командной строке) и получает команды с stdin и выдает результат на stdout |
1|2|3К списку тем
|