亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? kailleraclient.cpp

?? 由本人編寫的一個完成端口測試程序
?? CPP
字號:
#define KAILLERA_DLL
#include "kailleraclient.h"

kailleraInfos Infos;
SOCKET hSocket;

DLLEXP kailleraInit()
{
 WSADATA wsaData;
 WORD version=MAKEWORD(2,0);
 int ret=WSAStartup(version,&wsaData);
 if(ret!=0)return 0;
 else return 1;
}
DLLEXP kailleraConnect(char * a_pIP,DWORD a_dwPort)//連接到服務器
{
 SOCKADDR_IN Addr;
 hSocket=socket(AF_INET, SOCK_STREAM, 0);
 if(hSocket==INVALID_SOCKET)return 0;
 Addr.sin_addr.S_un.S_addr=inet_addr(a_pIP);
 Addr.sin_family=AF_INET;
 Addr.sin_port=htons((unsigned short)a_dwPort);
 int ret=connect(hSocket,(LPSOCKADDR)&Addr,sizeof(Addr));
 if(ret==SOCKET_ERROR)return 0;
 else return 1;
}
DLLEXP kailleraUserLogin(int roomid,int tableid,char *playername)//登陸
{
 LoginInfo login;
 login.Desk=tableid;
 login.Room=roomid;
 strcpy(login.Name,playername);
 SendToServer(&(char&)login,sizeof(LoginInfo),GAME_STATE_LOGIN);
 GameMsg package;
 recv(hSocket,&(char&)package,sizeof(GameMsg),0);
 if(package.MsgType==SERVER_SUCCESS) return 1;
 else return 0;
}
DLLEXP kailleraCreateGame(char * gamename)//建立新游戲
{
 CreateInfo createinfo;
 strcpy(createinfo.GameName,gamename);
 SendToServer(&(char&)createinfo,sizeof(CreateInfo),GAME_STATE_CREATE);
 GameMsg package;
 recv(hSocket,&(char&)package,sizeof(GameMsg),0);
 if(package.MsgType==SERVER_SUCCESS) return 1;
 else return 0;
}
DWORD WINAPI Waitthread(LPVOID lpparam)//加入游戲后等待開始的線程
{
 GameMsg package;
 recv(hSocket,&(char&)package,sizeof(GameMsg),0);
 if(package.MsgType==SERVER_SUCCESS) 
 {StartInfo startinfo;
  ZeroMemory(&startinfo,sizeof(StartInfo));
  memcpy(&startinfo,&package.Buffer,package.Size);
  gameCallback  gCallBack=0;	
  gCallBack=Infos.gameCallback;
  (*gCallBack)(startinfo.GameName,startinfo.player,startinfo.numplayers);
  return 1;}
 else return 0;
}
DLLEXP kailleraJoinGame(char * gamename)//加入游戲
{
	JoinInfo joininfo;
	strcpy(joininfo.GameName,gamename);
    SendToServer(&(char&)joininfo,sizeof(JoinInfo),GAME_STATE_JOIN);
	GameMsg package;
    recv(hSocket,&(char&)package,sizeof(GameMsg),0);
	if(package.MsgType==SERVER_SUCCESS) 
	{/*recv(hSocket,&(char&)package,sizeof(GameMsg),0);
	 if(package.MsgType==SERVER_SUCCESS) 
	 {StartInfo startinfo;
	  ZeroMemory(&startinfo,sizeof(StartInfo));
	  memcpy(&startinfo,&package.Buffer,package.Size);
	  gameCallback  gCallBack=0;	
	  gCallBack=Infos.gameCallback;
	  (*gCallBack)(startinfo.GameName,startinfo.player,startinfo.numplayers);
		 return 1;}
	  else return 0;*/ //不用線程的代碼,會阻塞
	DWORD dwthreadID;
	CreateThread(NULL,0,Waitthread,NULL,0,&dwthreadID);
	return 1;
	}
	else return 0;
}
DWORD WINAPI Startthread(LPVOID lpparam)
{	 
	 gameCallback  gCallBack=0;
	 gCallBack=Infos.gameCallback;
	 (*gCallBack)(Infos.gameName,1,2);
	return 1;	
}
DLLEXP kailleraStartGame()//主機發開始信息等待服務器開始信號
{   GameMsg package;
    StartInfo startinfo;
	ZeroMemory(&startinfo,sizeof(StartInfo));
	//startinfo.player=1;
	//startinfo.numplayers=2;
	//strcpy(startinfo.GameName,Infos.gameName);
    SendToServer(&(char&)startinfo,sizeof(StartInfo),GAME_STATE_START);	
	recv(hSocket,&(char&)package,sizeof(GameMsg),0);
	if(package.MsgType==SERVER_SUCCESS)
	{//memcpy(&startinfo,&package.Buffer,package.Size);	 
	 //gameCallback  gCallBack=0;
	 //gCallBack=Infos.gameCallback;
	 //(*gCallBack)(startinfo.GameName,startinfo.player,startinfo.numplayers);
	DWORD dwthreadID;
	CreateThread(NULL,0,Startthread,NULL,0,&dwthreadID);
	return 1;
	}
	else return 0;
}
DLLEXP kailleraShutdown()
{	
 if(WSACleanup()!=0)return 0;
 else return 1;
}
DLLEXP kailleraSetInfos(kailleraInfos *infos)
{
 Infos.appName=infos->appName;
 Infos.gameName=infos->gameName;
 Infos.gameCallback=infos->gameCallback;
 return 1;
}
DLLEXP kailleraModifyPlayValues(void *values, int size)//values:in/out
{
 MsgInfo msginfo;
 ZeroMemory(&msginfo,sizeof(MsgInfo));
 strcpy(msginfo.Msg,(char*)values);
 SendToServer(&(char&)msginfo,sizeof(MsgInfo),GAME_STATE_MSG);
 GameMsg package;
 recv(hSocket,&(char&)package,sizeof(GameMsg),0);
 if(package.MsgType==SERVER_SUCCESS)
 {
    ZeroMemory(&msginfo,sizeof(MsgInfo));
	strcpy(msginfo.Msg,package.Buffer);
	strcpy((char*)values,msginfo.Msg);
	return 1;
 }
 else return 0;
}
DLLEXP kailleraEndGame()
{
 EndInfo endinfo;
 ZeroMemory(&endinfo,sizeof(EndInfo));
 SendToServer(&(char&)endinfo,sizeof(EndInfo),GAME_STATE_EXIT); 
 closesocket(hSocket);
 hSocket=NULL;
 return 1;
}
DLLEXP kailleraUserLogOut()
{
 EndInfo endinfo;
 ZeroMemory(&endinfo,sizeof(EndInfo));
 SendToServer(&(char&)endinfo,sizeof(EndInfo),GAME_STATE_END);
 return 1;
}
int SendToServer(char *buf,int buflen,int nType)//發信息函數
{
	GameMsg *pNewPackage = (GameMsg*)new char[sizeof(GameMsg)];
	ZeroMemory(pNewPackage,sizeof(GameMsg));
	pNewPackage->MsgType=nType;
	memcpy(pNewPackage->Buffer,buf,buflen);
	pNewPackage->Size=buflen;
    send(hSocket,(char*)pNewPackage,sizeof(GameMsg),0);
	delete pNewPackage;
	return 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区影院| 91视频在线看| 91亚洲资源网| 91超碰这里只有精品国产| 精品国产一区二区三区忘忧草 | 性感美女久久精品| 国产一区二区主播在线| 97成人超碰视| 欧美xxxxxxxxx| 自拍偷拍国产亚洲| 麻豆国产一区二区| 色综合亚洲欧洲| 精品久久久网站| 亚洲免费av在线| 九九精品一区二区| 欧美性受xxxx黑人xyx性爽| 欧美精品一区男女天堂| 亚洲国产精品久久人人爱| 国产成人精品免费网站| 欧美久久久久久蜜桃| 国产精品久久久久四虎| 免费一区二区视频| 91国内精品野花午夜精品 | 狠狠色综合播放一区二区| 色综合中文字幕国产| 日韩欧美色电影| 亚洲一区二区成人在线观看| 国产精品一级片在线观看| 欧美日韩激情一区二区| 国产精品二三区| 狠狠色狠狠色合久久伊人| 欧美日韩三级在线| 1区2区3区精品视频| 国产精品一卡二卡| 日韩免费视频一区| 亚洲va欧美va人人爽午夜| av中文字幕在线不卡| www亚洲一区| 全国精品久久少妇| 欧美亚洲国产一区在线观看网站| 国产精品久99| 国产精品夜夜爽| 精品国产91九色蝌蚪| 天堂资源在线中文精品| 欧洲av在线精品| 亚洲欧美激情小说另类| 成人免费看视频| 国产亚洲一本大道中文在线| 美女在线一区二区| 555www色欧美视频| 亚洲成a人片在线不卡一二三区 | 最新国产の精品合集bt伙计| 国产一区 二区 三区一级| 日韩一区二区在线观看视频 | 7878成人国产在线观看| 亚洲成在人线免费| 在线视频国产一区| 亚洲精品国久久99热| 99热99精品| 国产精品九色蝌蚪自拍| 懂色av中文字幕一区二区三区| 精品国产第一区二区三区观看体验| 免费久久精品视频| 日韩欧美一二区| 久久99精品久久久| 精品少妇一区二区三区在线视频| 日韩二区三区四区| 日韩欧美专区在线| 久久精品国产亚洲一区二区三区| 777久久久精品| 青青青伊人色综合久久| 日韩一区二区三区精品视频| 日本亚洲免费观看| 日韩欧美一二三| 国产在线播放一区二区三区| 国产亚洲一本大道中文在线| 粉嫩aⅴ一区二区三区四区 | 日本高清视频一区二区| 一区二区视频免费在线观看| 日本久久一区二区三区| 亚洲第一在线综合网站| 欧美高清激情brazzers| 男人的j进女人的j一区| 久久一区二区视频| 岛国av在线一区| 亚洲欧美国产三级| 欧美日韩综合色| 蜜桃久久精品一区二区| 精品国产乱码久久久久久久久 | 中文字幕第一区二区| 不卡av在线网| 亚洲影视资源网| 91麻豆精品国产自产在线| 久久国内精品自在自线400部| 久久综合丝袜日本网| 国产**成人网毛片九色| 一区二区三区国产精品| 51久久夜色精品国产麻豆| 国产毛片精品一区| 亚洲欧洲日韩av| 欧美私人免费视频| 久久超碰97人人做人人爱| 久久精品人人做| 一本色道久久综合狠狠躁的推荐| 亚洲成人av电影| 欧美精品一区二区三区视频| 99久久精品免费看| 日本美女一区二区| 国产欧美日韩在线| 欧美揉bbbbb揉bbbbb| 精品在线免费视频| 亚洲欧洲av一区二区三区久久| 在线观看免费视频综合| 国内成人精品2018免费看| 欧美高清在线视频| 欧美日韩国产另类一区| 国产精品一区二区在线观看网站 | 欧美肥妇bbw| 成人理论电影网| 亚洲va韩国va欧美va精品| 久久精品一级爱片| 欧美日韩一区二区在线观看视频| 国产美女在线观看一区| 伊人色综合久久天天人手人婷| 日韩女优电影在线观看| 91玉足脚交白嫩脚丫在线播放| 男女性色大片免费观看一区二区 | 色哟哟国产精品免费观看| 狠狠色丁香婷婷综合久久片| 亚洲午夜一区二区| 亚洲国产高清在线| 日韩精品在线一区二区| 91久久一区二区| 成人动漫av在线| 激情综合网av| 亚洲18色成人| 亚洲欧洲综合另类| 精品国产91久久久久久久妲己 | 久久se这里有精品| 夜夜精品视频一区二区| 久久久91精品国产一区二区精品 | 蜜桃av噜噜一区二区三区小说| 国产精品久久一级| 久久在线免费观看| 欧美精品亚洲二区| 91传媒视频在线播放| 成人h动漫精品一区二区| 久久精品国产精品亚洲精品| 亚洲午夜久久久久久久久电影网 | 欧美中文字幕不卡| av午夜精品一区二区三区| 国产乱码精品一品二品| 日韩精品亚洲一区二区三区免费| 亚洲日本电影在线| 国产精品久久久久aaaa樱花| 久久久亚洲国产美女国产盗摄| 欧美一级欧美三级| 欧美精品色综合| 欧美日韩中文另类| 色老头久久综合| 91免费视频网址| heyzo一本久久综合| 国产91精品一区二区| 韩国精品在线观看| 日韩黄色小视频| 日韩成人精品在线观看| 视频在线在亚洲| 亚洲成a人片在线不卡一二三区| 成人sese在线| 成人av在线影院| 成人a级免费电影| av一二三不卡影片| 91蝌蚪porny| 色呦呦网站一区| 色欧美88888久久久久久影院| 9久草视频在线视频精品| 成人福利电影精品一区二区在线观看 | 99re亚洲国产精品| 91在线精品一区二区| 99久久婷婷国产综合精品 | 亚洲动漫第一页| 亚洲韩国一区二区三区| 亚洲一区视频在线| 丝袜脚交一区二区| 免费在线欧美视频| 老司机一区二区| 国产黄色成人av| 成人18精品视频| 日本韩国欧美三级| 欧美日韩精品是欧美日韩精品| 在线免费观看日本一区| 欧美日韩午夜在线视频| 欧美一级欧美三级| 精品av久久707| 国产欧美日韩激情| 1000精品久久久久久久久| 一区二区三区中文字幕| 天天爽夜夜爽夜夜爽精品视频| 欧美bbbbb| 国产成人在线视频免费播放|