Содержание
- 2. PID STAT TIME COMMAND ………………………………………….. 1 Ss 0:01 /sbin/init …………………………………………… 2087 Ss+ 0:00 \_ /bin/bash 2292
- 3. #include #include int main() { HANDLE hPipeIn, hPipeOut; SECURITY_ATTRIBUTES sa; STARTUPINFO si; PROCESS_INFORMATION pi; char buff[80];
- 4. if(!CreatePipe(&hPipeIn,&hPipeOut,&sa,0)){ printf("The pipe could not be created\n"); exit(1); }// Создание канала с дескриптором ввода hPipeIn и
- 5. typedef struct _STARTUPINFO { DWORD cb; LPTSTR lpReserved; LPTSTR lpDesktop; LPTSTR lpTitle; DWORD dwX; DWORD dwY;
- 6. HANDLE hStdInput; HANDLE hStdOutput; HANDLE hStdError; } STARTUPINFO, *LPSTARTUPINFO; BOOL CreatePipe( PHANDLE hReadPipe, // дескриптор для
- 7. CloseHandle(hPipeIn); for(x=0.0;x sprintf(buff,"%g %g\n",x,sin(x)); WriteFile(hPipeOut, buff, strlen(buff), &dw, NULL); } *buff=(char)26; WriteFile(hPipeOut, buff, 1, &dw, NULL);
- 8. #include #include #include int main(int argc, char* argv[]) { char buff[80]; fprintf(stdout," "); fprintf(stdout," "); fprintf(stdout,"
- 9. fprintf(stdout," "); fprintf(stdout," "); fprintf(stdout," "); } fprintf(stdout," fprintf(stdout," "); fprintf(stdout," "); return 0; }
- 10. C:\...\Лекции\Лекция11-12\Лаб8>p1 > 1.html
- 11. #include #include void main() { HANDLE hPipe; LPTSTR lpPipeName = TEXT("\\\\.\\pipe\\MyPipe"); char buff[255]; DWORD iBytesToRead =
- 12. hPipe = CreateNamedPipe( lpPipeName, // имя канала PIPE_ACCESS_DUPLEX,// чтение и запись из канала PIPE_TYPE_MESSAGE | //
- 13. if((ConnectNamedPipe(hPipe, NULL))==0) { printf("client could not connect\n"); return; } ReadFile(hPipe, buff, iBytesToRead, &iBytesToRead, NULL); for(i=0; i
- 14. hPipe = CreateFile( lpPipeName, // имя канала GENERIC_READ | // чтение и запись в канал GENERIC_WRITE,
- 15. Упражнение 1: протестировать разобранные программы. Упражнение 2: написать «чат» один-к-одному в локальной сети. Тема курсовой №3:
- 16. Сокеты (как средство обмена данными между процессами) Сокет – это устройство двунаправленного действия, предназначенное для передачи
- 18. //#include //#include //#include #include #include #include #define SERVERADD "94.100.191.203" int main(){ SOCKET socket_fd; //int socket_fd; struct
- 19. //Инициализация библиотеки Winsock2 if (WSAStartup(0x202,(WSADATA *)&buff[0])) { printf("WSAStart error %d\n",WSAGetLastError()); return -1; } host = gethostbyname(
- 20. Пространство имен (каким образом записываются адреса):
- 21. Тип взаимодействия:
- 22. //inet_aton("195.189.238.9",&name.sin_addr); if (inet_addr("94.100.191.203")!=INADDR_NONE) name.sin_addr.s_addr=inet_addr("94.100.191.203"); else{ printf("no such address\n"); return -2; } if(connect(socket_fd,(struct sockaddr*)&name,sizeof(name))== SOCKET_ERROR){ printf("Couldn't connect
- 23. while(1){ num_char=recv(socket_fd,buffer,sizeof(buffer) - 1,0); if(num_char==0){ closesocket(socket_fd); WSACleanup(); return 1; } fwrite(buffer,sizeof(char),num_char,stdout); } closesocket(socket_fd); WSACleanup(); return 0;
- 24. #include #include #include #define MY_PORT 1952 int main(int argc, char* argv[]) { char buff[1024]; SOCKET mysocket,
- 25. if ((mysocket=socket(AF_INET,SOCK_STREAM,0)) { printf("Error socket %d\n",WSAGetLastError()); WSACleanup(); return -1; } local_addr.sin_family=AF_INET; local_addr.sin_port=htons(MY_PORT); local_addr.sin_addr.s_addr=0; if (bind(mysocket,(struct sockaddr
- 26. if (listen(mysocket, 0x100)) { printf("Error listen %d\n",WSAGetLastError()); closesocket(mysocket); WSACleanup(); return -1; } printf("Waiting for calls\n"); while((client_socket=accept(mysocket,
- 27. printf("+%s [%s] new connect!\n", (hst)?hst->h_name:"", inet_ntoa(client_addr.sin_addr)); send(client_socket,"Hello a new client!\n", sizeof("Hello a new client!\n"),0); while( (
- 28. #include #include #include #include #define PORT 1952 #define SERVERADDR "127.0.0.1" int main(int argc, char* argv[]) {
- 29. //инициализация библиотеки Winsock if (WSAStartup(0x202,(WSADATA *)&buff[0])) { printf("WSAStart error %d\n",WSAGetLastError()); return -1; } // создание сокета
- 30. // преобразование IP адреса из символьного в сетевой формат if (inet_addr(SERVERADDR)!=INADDR_NONE) dest_addr.sin_addr.s_addr=inet_addr(SERVERADDR); else // получение IP
- 31. //установка соединения if (connect(my_sock,(struct sockaddr *)&dest_addr, sizeof(dest_addr))){ printf("Connect error %d\n",WSAGetLastError()); return -1; } printf("Connection with %s
- 32. if (!strcmp(&buff[0],"quit\n")){ printf("Exit..."); closesocket(my_sock); WSACleanup(); return 0; } send(my_sock,&buff[0],nsize,0); } printf("Recv error %d\n",WSAGetLastError()); closesocket(my_sock); WSACleanup(); return
- 34. Скачать презентацию