📄 main.cpp
字号:
#include <stdio.h>
#include <windows.h>
#include "../../gamelib/g_netsocket.h"
#include "../../gamelib/g_cmdpacket.h"
int main()
{
CG_NetSocket listen;
/* initialize listen socket */
if(!listen.Initialize(PROTOCOL_TCP))
return 1;
/* set to non-blocking mode */
listen.SetNonBlocking();
/* bind listen port */
if(!listen.BindAddr(NULL,7788))
return 1;
/* begin listen */
if(!listen.Listen())
return 1;
CG_NetSocket client,*server;
if(!client.Initialize(PROTOCOL_TCP))
return 1;
client.Connect("localhost",7788);
if(!listen.CanRead())
return 1;
SOCKET tmp = listen.Accept();
if(!tmp)
{
Sys_Log("accept failed");
return 1;
}
server = new CG_NetSocket;
server->Attach(tmp);
Sys_Log("accept ok");
char addr[20];
short port;
server->GetLocalAddr(addr,&port);
Sys_Log("local ip = %s,port = %d",addr,port);
server->GetRemoteAddr(addr,&port);
Sys_Log("remote ip = %s,port = %d",addr,port);
char msg[128];
strcpy(msg,"client send msg 1");
/* client send msg */
client.Send(msg,strlen(msg));
strcpy(msg,"client send msg 2");
/* client send msg again*/
client.Send(msg,strlen(msg));
char buf[128];
/* server try recv msg */
int ret = server->Recv(buf,128);
if(ret > 0)
{
buf[ret] = '\0';
Sys_Log("recv bytes = %d,msg = %s",ret,buf);
}
/* quit */
getchar();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -