Win32API 質問箱 Build5
■ このスレッドは過去ログ倉庫に格納されています
0802デフォルトの名無しさん
NGNG普通に動くが。
cl -DADDR=0 -DPORT=12345 a.c -Feserver.exe wsock32.lib
cl -DADDR=0x7f000001 -DPORT=12345 a.c -Feclient.exe wsock32.lib
cl a.c -Fechild.exe wsock32.lib
#include <winsock.h>
int main(int ac, char **av) {
SOCKET s, c; char buf[128]; struct sockaddr_in sin;
PROCESS_INFORMATION pi; STARTUPINFO si = {sizeof si};
WSADATA data; WSAStartup(MAKEWORD(1, 1), &data);
#ifdef PORT
s = socket(PF_INET, SOCK_STREAM, 0);
sin.sin_family = AF_INET; sin.sin_port = PORT;
sin.sin_addr.s_addr = htonl(ADDR);
#if !ADDR
bind(s, (struct sockaddr *)&sin, sizeof sin);
listen(s, 1);
c = accept(s, NULL, NULL);
recv(c, buf, 4, 0); printf("server: %.4s\n", buf);
sprintf(buf, "child %d", c);
CreateProcess(NULL, buf, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
WaitForSingleObject(pi.hProcess, INFINITE);
#else /* ADDR */
connect(s, (struct sockaddr *)&sin, sizeof sin);
send(s, "0123456789", 10, 0);
#endif /* ADDR */
#else /* !PORT */
recv((SOCKET)atoi(av[1]), buf, 6, 0); printf("child: %.6s\n", buf);
#endif /* !PORT */
closesocket(s); return 0;
}
■ このスレッドは過去ログ倉庫に格納されています