⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcp.h

📁 TCP网络传输
💻 H
字号:
#ifndef __TCP_SOCKET_DLL_HUST_CHAO_2003_8_12
#define __TCP_SOCKET_DLL_HUST_CHAO_2003_8_12

#define TCPHANDLE  int//有意义的值其实就是socket

//开始启动服务器

//用法:

//声明回调函数BOOL OnServer(void *wParam,TCPHANDLE handle)

//在该函数中自己处理循环接收工作

//wParam 是用户自定义变量

//s       是新连接的socket值

//回调函数 返回值 : TRUE == 线程退出。dll自动关闭socket;FALSE == 线程退出,dll不关闭socket

extern "C" __declspec(dllimport) TCPHANDLE CreateTCP(BOOL (*OnServer)(void *wParam,TCPHANDLE handle),//进到线程后的工作
													 void *wParam,
													 const int port);
//连接服务器

//用法:

//声明回调函数BOOL OnClient(void *wParam,TCPHANDLE handle)

//在该函数中自己处理循环接收工作

//ip 和 port 是要连接的服务器的ip和端口

//连接成功,返回一个有效的socket值

//回调函数 返回值 : TRUE == 线程退出。dll自动关闭socket;FALSE == 线程退出,dll不关闭socket

extern "C" __declspec(dllimport) TCPHANDLE ConnectTCP(BOOL (*OnClient)(void *wParam,TCPHANDLE handle),
													  void *wParam,
													  LPCSTR ip,
													  const int port);

//发送缓冲区

//用法

//缓冲区组合方式:buffer = buffer的大小(4个字节) + 数据缓冲区

//buffer的大小(前四个字节)就是整个buffer的大小

//发送成功,返回true。否则返回false且关闭socket

extern "C" __declspec(dllimport) BOOL  SendTCP(TCPHANDLE handle,char *buffer,struct timeval *timeout = NULL);

//接收缓冲区

//用法

//缓冲区组合方式:buffer = buffer的大小(4个字节) + 数据缓冲区

//buffer的大小(前四个字节)就是整个buffer的大小

//接收成功,返回true。否则返回false且关闭socket

extern "C" __declspec(dllimport) BOOL ReceiveTCP(TCPHANDLE handle,char *buffer,struct timeval *timeout = NULL);
//从一个连接的socket得到服务器ip地址
extern "C" __declspec(dllimport) char * GetHostIPAddr(TCPHANDLE handle);
//从一个连接的socket得到本机子ip地址
extern "C" __declspec(dllimport) char * GetLocalIPAddr(TCPHANDLE handle);
//关闭TCP连接
extern "C" __declspec(dllimport) BOOL CloseTCP(void *handle);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -