📄 tcp.h
字号:
#ifndef _TCP_H_#define _TCP_H_/***************************************************/// define windows head file/***************************************************/#ifdef WIN32 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <string.h> #include <winsock2.h> #include <ws2tcpip.h> #include <windows.h> #define safe_delete(ptr) {if ((ptr)!=NULL) delete (ptr);} #define GetTime() GetTickCount() #define ioctl ioctlsocket#endif#ifdef LINUX #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/time.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <sys/ipc.h> #include <sys/msg.h> #include <netinet/in.h> #include <arpa/inet.h> #include <pthread.h> #include <netdb.h> #define closesocket close #define SOCKADDR_IN struct sockaddr_in #define SOCKADDR struct sockaddr #define SOCKET int #define SD_BOTH 3 #define SOCKET_ERROR -1 #define INVALID_SOCKET -1// unsigned int GetTime(void);#endif#ifdef uCLINUX // this include head file is in uClinux-dist/uCLib/inlcude #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <signal.h> #include <sys/time.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <sys/ipc.h> #include <sys/msg.h> #include <netinet/in.h> // this file was modified by li yuan in line 250, and bits/in.h is modified too #include <arpa/inet.h> //#include <pthread.h> // disable when use uc-libc #include <netdb.h> #define closesocket close #define SOCKADDR_IN struct sockaddr_in #define SOCKADDR struct sockaddr #define SOCKET int #define SD_BOTH 3 #define SOCKET_ERROR -1 #define INVALID_SOCKET -1 unsigned int GetTime(void);#endif#define LISTEN_NUM 10int SockInit(void);int SockClean(void);/******************************************* TCP Server struct and fucntion*******************************************/struct AcceptSession{ fd_set fdset; SOCKADDR_IN localaddr; SOCKADDR_IN remoteaddr; SOCKET sockfd; struct AcceptSession *next;};struct TcpServer{ fd_set fdset; SOCKADDR_IN localaddr; SOCKADDR_IN remoteaddr; SOCKET sockfd; struct AcceptSession *session; };int CreateTcpServer(struct TcpServer *ser, unsigned short localport);struct AcceptSession *AcceptConnect(struct TcpServer *ser, int timeout);int RecvFromSession(struct AcceptSession *session, char *buff, int *recvlen, int timeout);int SendToSession(struct AcceptSession *session, char *buff, int len, int timeout);int DeleteTcpSession(struct AcceptSession *session);/******************************************* TCP Client struct and fucntion*******************************************/struct TcpClient{ fd_set fdset; SOCKADDR_IN localaddr; SOCKADDR_IN remoteaddr; SOCKET sockfd; unsigned int connected; };int CreateTcpClient(struct TcpClient *client, unsigned int serip, unsigned short serport, int timeout);int DeleteTcpClient(struct TcpClient *client);int SendToServer(struct TcpClient *client, char *buff, int len, int timeout);int RecvFromServer(struct TcpClient *client, char *buff, int *recvlen, int timeout);/*************************************************** UDP server***************************************************/struct UdpServer{ fd_set fdset; SOCKADDR_IN localaddr; SOCKADDR_IN remoteaddr; SOCKET sockfd;};int CreateUdpServer(struct UdpServer* server, unsigned short serport);int RecvFromClient(struct UdpServer* server, char* buff);int SendToClient(struct UdpServer* server, char* buff, int len);/*************************************************** UDP client***************************************************/struct UdpClient{ fd_set fdset; SOCKADDR_IN serveraddr; SOCKADDR_IN remoteaddr; SOCKET sockfd;};int CreateUdpClient(struct UdpClient* client, unsigned int serip, unsigned short serport);int RecvFromUdpServer(struct UdpClient* client, char* buff);int SendToUdpServer(struct UdpClient* client, char* buff, int len);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -