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

📄 main.cpp

📁 与游戏,网络,输入法相关
💻 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 + -