Net005
の編集
http://localhost/keibun/mingwiki/index.php?Net005
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
BracketName
CMyFrameWin
FormattingRules
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
MenuBar
Net001
Net002
Net003
Net004
Net005
PHP
Page001
Page002
Page003
Page004
Page005
Page006
Page007
Page008
Page009
Page010
Page011
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
SandBox
StartPage
WikiEngines
WikiName
WikiWikiWeb
YukiWiki
[[Net004]] * Windows版単純な server program [#ffdafcee] #include <stdio.h> #include <stdlib.h> #include <string.h> #include <winsock2.h> #include <ws2tcpip.h> int main(int argc, char* argv[]) { struct sockaddr_in saddr; struct sockaddr_in caddr; socklen_t calen; SOCKET sd; SOCKET cd; int port; int err; WORD wReqVersion; WSADATA wsa; /* Check the command-line arguments */ if(argc != 2) { fprintf(stderr, "Usage: %s port\n", argv[0]); return (-1); } port = atoi(argv[1]); if(port <= 0) { fprintf(stderr, "Illegal port number (%d)\n", port); return (-1); } /* Start the WinSock library */ wReqVersion = MAKEWORD(2,2); if((err = WSAStartup(wReqVersion, &wsa)) != 0) return err; if((LOBYTE(wsa.wVersion) != 2) || (HIBYTE(wsa.wVersion) != 2)) { WSACleanup(); return (-1); } /* Set the server address */ memset(&saddr, 0, sizeof(saddr)); memset(&caddr, 0, sizeof(caddr)); saddr.sin_family = AF_INET; saddr.sin_port = htons((u_short)port); saddr.sin_addr.s_addr = INADDR_ANY; /* Create socket for listen port and bind the server address */ if((sd = socket( PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) { err = WSAGetLastError(); WSACleanup(); return err; } if(bind(sd, (const struct sockaddr*)&saddr, sizeof(saddr)) == SOCKET_ERROR) { err = WSAGetLastError(); closesocket(sd); WSACleanup(); return err; } /* Listen the service port */ if(listen(sd, 5) == SOCKET_ERROR) { err = WSAGetLastError(); closesocket(sd); WSACleanup(); return err; } while(1) { /* Clear the address for accept */ memset(&caddr, 0, sizeof(caddr)); calen = sizeof(caddr); /* Dequeue the requested connection in the listen socket */ if((cd = accept(sd,(struct sockaddr*)&caddr, &calen)) == SOCKET_ERROR) { err = WSAGetLastError(); closesocket(sd); WSACleanup(); return err; } send(cd, "Hello\r\n", 7, 0); closesocket(cd); } /* Server done. (Never come) */ closesocket(sd); WSACleanup(); return 0; }
タイムスタンプを変更しない
[[Net004]] * Windows版単純な server program [#ffdafcee] #include <stdio.h> #include <stdlib.h> #include <string.h> #include <winsock2.h> #include <ws2tcpip.h> int main(int argc, char* argv[]) { struct sockaddr_in saddr; struct sockaddr_in caddr; socklen_t calen; SOCKET sd; SOCKET cd; int port; int err; WORD wReqVersion; WSADATA wsa; /* Check the command-line arguments */ if(argc != 2) { fprintf(stderr, "Usage: %s port\n", argv[0]); return (-1); } port = atoi(argv[1]); if(port <= 0) { fprintf(stderr, "Illegal port number (%d)\n", port); return (-1); } /* Start the WinSock library */ wReqVersion = MAKEWORD(2,2); if((err = WSAStartup(wReqVersion, &wsa)) != 0) return err; if((LOBYTE(wsa.wVersion) != 2) || (HIBYTE(wsa.wVersion) != 2)) { WSACleanup(); return (-1); } /* Set the server address */ memset(&saddr, 0, sizeof(saddr)); memset(&caddr, 0, sizeof(caddr)); saddr.sin_family = AF_INET; saddr.sin_port = htons((u_short)port); saddr.sin_addr.s_addr = INADDR_ANY; /* Create socket for listen port and bind the server address */ if((sd = socket( PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) { err = WSAGetLastError(); WSACleanup(); return err; } if(bind(sd, (const struct sockaddr*)&saddr, sizeof(saddr)) == SOCKET_ERROR) { err = WSAGetLastError(); closesocket(sd); WSACleanup(); return err; } /* Listen the service port */ if(listen(sd, 5) == SOCKET_ERROR) { err = WSAGetLastError(); closesocket(sd); WSACleanup(); return err; } while(1) { /* Clear the address for accept */ memset(&caddr, 0, sizeof(caddr)); calen = sizeof(caddr); /* Dequeue the requested connection in the listen socket */ if((cd = accept(sd,(struct sockaddr*)&caddr, &calen)) == SOCKET_ERROR) { err = WSAGetLastError(); closesocket(sd); WSACleanup(); return err; } send(cd, "Hello\r\n", 7, 0); closesocket(cd); } /* Server done. (Never come) */ closesocket(sd); WSACleanup(); return 0; }
テキスト整形のルールを表示する