socket cp1

-------------------dll.h

#ifdef IOCP_EXPORTS
#define IOCP_API __declspec(dllexport)
#else
#define IOCP_API __declspec(dllimport)
#endif

 

-------------------------const.h

#ifndef CONST_H
#define CONST_H

#pragma once
#define DEFAULT_MESSAGE_BLOCK_SIZE   1024


#define DATA_BUF_LENGHT   2048  //数据缓存大小
#define SOCKADDR_IN_SIZE  ( sizeof(SOCKADDR_IN) + 16 )

#define  CREATE_COMPLETE_PORT_FAILURE -1
#define  CREATE_LISTEN_PORT_FAILURE  -2
#define WORKER_THREAD_PER_CPU 2   //一个CPU开的工作线程数量

#include <winsock2.h>
#include <mswsock.h>

//IO类型
enum ENUM_IO_TYPE
{
 ACCEPT,
 READ,
 WRITE 
};

//IO类型
enum LOG_PRINT__TYPE
{
 LOG_NOTIFY,
 LOG_WARNING,
 LOG_ERROR 
};

struct ClientSocket;

// OVERLAPPEDEX
struct OVERLAPPEDEX
{
 OVERLAPPED ol;
 WSABUF wsabuf;
 ENUM_IO_TYPE ioType;  
 CHAR buf[DATA_BUF_LENGHT];
 ClientSocket* pClientSock; 
 BOOL bSaveSend;
 DWORD bytesTransferred;
};


//ClientSocket
struct ClientSocket
{
 SOCKET socket;
 OVERLAPPEDEX olex;
 BYTE AddressBuffer[SOCKADDR_IN_SIZE*2];
 DWORD bytesTransferred;
 INT iAddrLen;
 INT  userID;
 BOOL bIsServer;  //是否为服务器
 BOOL bIsUPDSock;  //是否为udp连接
};

//用户的在线状态
struct UserState
{
 int m_nUserID;
 char m_nUserState;
 int m_nIP;    //IP地址
 int m_nPort;  //UPD通信端口号
};
#define  GET_CLIENT_ADDRESS(addr)   (  *( (int*) ( (addr) + 42 ) ) )

#endif

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值