class
LogParam
...
{
public:
string* bufdata;
Queue *tasks;
} ;
class LogServer ... {
public:
void startServer();
LogServer(char _ip[],int _port);
~LogServer();
private:
static void logit(LogParam* param);
static void write2File(Queue *tasks);
static BOOL InitWinsock();
private:
char *ip;
int port;
Queue *tasks;
//ofstream fout("log.txt", ios::app );
} ;
int main( int argc, char * argv[])
... {
LogServer server("127.0.0.1",1000);
server.startServer();
fflush(stdin);
scanf(new char[500]);
return EXIT_SUCCESS;
}
void LogServer::startServer() ... {
//启动工作线程。
_beginthread( (void(*)(void*))LogServer::write2File, 0, (void *)tasks );
SOCKET socket1;
InitWinsock();
struct sockaddr_in local;
struct sockaddr_in from;
int fromlen =sizeof(from);
local.sin_family=AF_INET;
local.sin_port=htons(port);
local.sin_addr.s_addr=inet_addr(ip); //本机
socket1=socket(AF_INET,SOCK_DGRAM,0);
bind(socket1,(struct sockaddr*)&local,sizeof local);
while (1)...{
char buffer[512]="
public:
string* bufdata;
Queue *tasks;
} ;
class LogServer ... {
public:
void startServer();
LogServer(char _ip[],int _port);
~LogServer();
private:
static void logit(LogParam* param);
static void write2File(Queue *tasks);
static BOOL InitWinsock();
private:
char *ip;
int port;
Queue *tasks;
//ofstream fout("log.txt", ios::app );
} ;
int main( int argc, char * argv[])
... {
LogServer server("127.0.0.1",1000);
server.startServer();
fflush(stdin);
scanf(new char[500]);
return EXIT_SUCCESS;
}
void LogServer::startServer() ... {
//启动工作线程。
_beginthread( (void(*)(void*))LogServer::write2File, 0, (void *)tasks );
SOCKET socket1;
InitWinsock();
struct sockaddr_in local;
struct sockaddr_in from;
int fromlen =sizeof(from);
local.sin_family=AF_INET;
local.sin_port=htons(port);
local.sin_addr.s_addr=inet_addr(ip); //本机
socket1=socket(AF_INET,SOCK_DGRAM,0);
bind(socket1,(struct sockaddr*)&local,sizeof local);
while (1)...{
char buffer[512]="