- 论坛徽章:
- 0
|
请教键盘,怎样用SPX流管道传递描述字
- #include "glx.h"
- main()
- {
- char szDataTest[MSG_AREA_SIZE];
- char szIPAddr[20];
-
- int nSock,nListenSock;
- int nfd[2];
-
- pid_t _pid_tChild;
-
- ASSERT_RESULT(spipe(&nfd))
- /*if (socketpair(AF_UNIX,SOCK_STREAM,0,nfd) < 0)
- {
- PrintLog(stderr,"Parent: socketpair failed.");
- return;
- }*/
-
- ASSERT_RESULT(CreateSock(&nListenSock,4444))
-
- ASSERT((_pid_tChild = fork()) >;= 0)
- if (_pid_tChild >; 0)
- {
- close(nfd[0]);
- if (!VERIFY(AcceptSock(&nSock, nListenSock,szIPAddr)))
- {
- close(nListenSock);
- return;
- }
-
- PrintLog(stderr,"Parent: %s is connect.",szIPAddr);
- ASSERT_RESULT(sendfd(nfd[1],nSock))
-
- PrintLog(stderr,"Parent is completed.");
- }else
- {
- int nNewfd = -1;
-
- PrintLog(stderr,"Child: start...");
- close(nfd[1]);
- close(nListenSock);
-
- ASSERT_RESULT(recvfd(nfd[0],&nNewfd))
- PrintLog(stderr,"Child: nNewfd = %d",nNewfd);
-
- bufclr(szDataTest);
- ASSERT(read(nNewfd,szDataTest,30) != -1)
- PrintLog(stderr,"Child: read=[%s]",szDataTest);
- }
- }
复制代码 |
|