文档详情

TCP双机通信示例代码参考.doc

发布:2017-12-12约7.13千字共7页下载文档
文本预览下载声明
TCP双机通信源代码参考 /* tcpExample.h - header used by both TCP server and client examples */ /*定义结构体,保存待传输的信息,是否回应,以及信息长度*/ #define SERVER_PORT_NUM 5001 /* servers port number for bind() */ #define SERVER_WORK_PRIORITY 100 /* priority of servers work task */ #define SERVER_STACK_SIZE 10000 /* stack size of servers work task */ #define SERVER_MAX_CONNECTIONS 4 /* max clients connected at a time */ #define REQUEST_MSG_SIZE 1024 /* max size of request message */ #define REPLY_MSG_SIZE 500 /* max size of reply message */ /* structure for requests from clients to server */ struct request { int reply; /* TRUE = request reply from server */ int msgLen; /* length of message text */ char message[REQUEST_MSG_SIZE]; /* message buffer */ }; /* tcpClient.c - TCP client example */ /* tcpClient是下载到Client端的程序,其完成的功能是建立连接,通过套节字进行数据传输,传输的数据包括信息,是否回应。出错,返回错误信息*/ #include vxWorks.h #include sockLib.h #include inetLib.h #include stdioLib.h #include strLib.h #include hostLib.h #include ioLib.h #include tcpExample.h STATUS tcpClient ( char * serverName ) /* Server机的IP地址 */ { struct request myRequest; /*定义的结构体,保存信息和回复请求以及信息长度 */ struct sockaddr_in serverAddr; /* server端的套节字地址 */ char replyBuf[REPLY_MSG_SIZE]; /* 保存回复信息的数组*/ char reply; /*回复请求 */ int sockAddrSize; /* server端的套节字地址结构体的长度*/ int sFd; /*保存套节字的设备*/ int mlen; /*信息长度 */ /* 建立套节字,用于在两机之间进行数据传输*/ if ((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR) { perror (socket setup error!\n); return (ERROR); } /*套节字建立失败,返回错误信息*/ sockAddrSize = sizeof (struct sockaddr_in); bzero ((char *) serverAddr, sockAddrSize); serverAddr.sin_family = AF_INET; serverAddr.sin_len = (u_char) sockAddrSize; serve
显示全部
相似文档