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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dictserver.cpp

?? 通過(guò)在遠(yuǎn)端主機(jī)上搭建一個(gè)遠(yuǎn)程字典服務(wù)服務(wù)器
?? CPP
字號(hào):

/*************************************************************************
文件名稱:dictServer.cpp
項(xiàng)目名稱:遠(yuǎn)程字典服務(wù)(RemoteLookup) TCP
創(chuàng)建者:胡峰令
創(chuàng)建時(shí)間:2005-4-19
最后修改時(shí)間:2005-5-16
功能: 根據(jù)接收到的單詞將相應(yīng)意思發(fā)給客戶端
文件中的函數(shù)名稱和簡(jiǎn)單功能描述:
void DoNewWord(BufferSocket s);//讀入需要查詢的單詞并返回相應(yīng)結(jié)果給客戶端
void DoWord(char* word,int num);//拆分單詞和其意思并將其插入到Hash表中合適的位置
int MakeDict(char *filename,int& num);//將字典讀入內(nèi)存
int SearchWordByHash(char *word,int num);//查詢單詞
int GetValueByWord(char *word,int num);//將給定字符串轉(zhuǎn)換成相應(yīng)數(shù)字
*************************************************************************/


#include "sock_common.h"
#include <time.h>

#include <process.h>
#include <conio.h>

#define USER_PORT 5150
#define BUFFER_SIZE 100
#define DICTSIZE 8000
#define WORDLEN 100

struct Dword
{
	char data[WORDLEN];
	char mean[WORDLEN];
};

Dword dictionary[DICTSIZE];
int DictNum;
//ReadBuffer readbuf;

unsigned __stdcall HttpThread(void *  p);
unsigned long hThreadHandle;
unsigned uThreadID;

void DoNewWord(BufferSocket s);//讀入需要查詢的單詞并返回相應(yīng)結(jié)果給客戶端
void DoWord(char* word,int num);//拆分單詞和其意思并將其插入到Hash表中合適的位置
int MakeDict(char *filename,int& num);//將字典讀入內(nèi)存
int SearchWordByHash(char *word,int num);//查詢單詞
int GetValueByWord(char *word,int num);//將給定字符串轉(zhuǎn)換成相應(yīng)數(shù)字


int main()
{
	WSADATA wsaData;
	SOCKET serverSocket,newConnection;
	SOCKADDR_IN serverAddr,clientAddr;
	
	int Ret,clientAddrLen;

	//初始化Winsock Dll
	if((Ret=WSAStartup(MAKEWORD(2,2),&wsaData))!=0)
	{
		printf("WSAStartup failed with error %d\n", Ret);
		return 0;
	}

	//建立服務(wù)器端socket
	if((serverSocket=socket(AF_INET, SOCK_STREAM, 0))==INVALID_SOCKET)
	{
		printf("Create socket error\n");
		WSACleanup();
		return 0;
	}

	//填充服務(wù)器端SOCKADDR_IN結(jié)構(gòu)
	serverAddr.sin_family=AF_INET;
	serverAddr.sin_addr.s_addr=htonl(INADDR_ANY);
	serverAddr.sin_port=htons(USER_PORT);
    
	//將服務(wù)器端socket與指定IP地址和端口綁定
	if(bind(serverSocket,(SOCKADDR *)&serverAddr,sizeof(serverAddr))==SOCKET_ERROR)
	{
		int temp;
		temp=WSAGetLastError();
		printf("Bind error!\n");
		closesocket(serverSocket);
		WSACleanup();
		return 0;
	}

	//指定服務(wù)器端serverSocket為監(jiān)聽(tīng)模式
	if(listen(serverSocket,5)!=0)
	{
		printf("Listen error!\n");
		closesocket(serverSocket);
		WSACleanup();
		return 0;
	}

	printf("begin to server!\n");
	clientAddrLen=sizeof(clientAddr);
	//MakeDict("新東方紅寶書.txt",DictNum);
	while(!kbhit())
	{
		if((newConnection=accept(serverSocket,(sockaddr FAR*)&clientAddr,&clientAddrLen))==INVALID_SOCKET)
		{
			printf("Connect failed.Please try again!\n");
			continue;
		}
		hThreadHandle = _beginthreadex(NULL , 0 , HttpThread , (void *)&newConnection , 0 , &uThreadID);
		CloseHandle((HANDLE) hThreadHandle);
	}
	closesocket(serverSocket);
	WSACleanup();
	return 0;
}

unsigned __stdcall HttpThread(void *  p)
{
	BufferSocket BufSock;
	InitBufferSocket(&BufSock);
	BufSock.Socket = *((SOCKET *) p);
	DoNewWord(BufSock);
	closesocket(BufSock.Socket);
	return 0;
}

void DoNewWord(BufferSocket BufSock)
{
	char buf[BUFFER_SIZE],*NotFind="Sorry,We can't find the word in the dictionary!";
	int Ret;
	Ret = ReadLineFromBufferSocket(&BufSock , buf , WORDLEN);
	buf[Ret-2]='\0';

	//int index=SearchWordByHash(buf,DictNum);

	/*if(index!=-1)
	{
		if((Ret=WriteSocket(BufSock.Socket,dictionary[index].mean,strlen(dictionary[index].mean))) < 0 )
			printf("Send failed.You can try again!\n");
	}*/
	//else
	switch( *buf )
	{
	    case 's':
		{
			if((Ret=WriteSocket(BufSock.Socket,NotFind,strlen(NotFind))) < 0 )
				printf("Send failed.You can try again!\n");
			break;
		}
		default:
			break;
	}
	return;
}


void DoWord(char* word,int num)
{
	int i,f=0,k1=0,k2=0;
	char ctemp[WORDLEN];

	for(i=0;i<int(strlen(word));i++)
	{
		if(word[i]!=' ')
			ctemp[i]=word[i];
		else
			break;
	}
	ctemp[i]='\0';

	if(!strcmp(ctemp,"fool’serrand"))
	    i=1;

	int tn=GetValueByWord(ctemp,num);

	if(dictionary[tn].data[0]!='0')
		for(tn=0;tn<num;tn++)
			if(dictionary[tn].data[0]=='0')
				break;
    f=0;
	for(i=0;i<int(strlen(word));i++)
	{
		if(word[i]!=' '&&f==0)
		{
			dictionary[tn].data[k1]=word[i];
			k1++;
		}
		if(word[i]!=' '&&f==1)
		{
			dictionary[tn].mean[k2]=word[i];
			k2++;
		}
		if(word[i]==' '&&word[i+1]!=' ')
			f=1;
	}
	dictionary[tn].data[k1]='\0';
	dictionary[tn].mean[k2]='\0';

}

int MakeDict(char *filename,int& num)
{
	char tword[WORDLEN];
	num=0;
	FILE *fp;
	memset(dictionary,'0',sizeof(dictionary));
	if((fp=fopen(filename,"r"))==NULL)
	{
		printf("Open the dictionary failed\n");
		return 0;
	}
	else
	{
		while(fgets(tword,WORDLEN,fp)!=NULL)
			num++;
		rewind(fp);
		while(fgets(tword,WORDLEN,fp)!=NULL)
			DoWord(tword,num);
	}
	fclose(fp);
	return 1;
}

int SearchWordByHash(char *word,int num)
{
	int temp;
	temp=GetValueByWord(word,num);
	if(!strcmp(dictionary[temp].data,word))
		return temp;
	else
	{
		for(temp=0;temp<DictNum;temp++)
			if(!strcmp(dictionary[temp].data,word))
				return temp;
	}
	return -1;
}

int GetValueByWord(char* word,int num)
{
	int i,Ret=0,step=1;
	for(i = strlen(word) - 1 ; i >= 0 ; i--)
	{
		if(word[i] - 'a' < 0)
			continue;
		Ret += (word[i] - 'a') * step;
		step += 10;
		Ret = Ret % num;
	}
	return Ret;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2020国产精品久久精品美国| 国产亚洲欧美色| 欧美美女激情18p| 99精品国产热久久91蜜凸| 成人午夜激情影院| 成人免费看的视频| 成人h动漫精品| 91视频.com| 91福利社在线观看| 欧洲亚洲国产日韩| 欧美日韩国产电影| 欧美一区二区三区思思人| 日韩一区二区影院| 精品嫩草影院久久| 久久久久久久久97黄色工厂| 久久久国产精品午夜一区ai换脸| 久久久久97国产精华液好用吗| 亚洲精品一区二区三区蜜桃下载 | 日韩精品资源二区在线| 欧美一区二区二区| 欧美不卡一区二区三区四区| 精品裸体舞一区二区三区| 久久夜色精品一区| 亚洲国产高清在线| 亚洲已满18点击进入久久| 午夜精品久久久久久久久久| 日产国产欧美视频一区精品| 精品一二三四区| 成人午夜在线免费| 欧美色国产精品| 精品乱人伦小说| 国产精品色在线| 亚洲一区二区高清| 久久精品国产亚洲5555| www.av精品| 欧美日本精品一区二区三区| 久久日韩粉嫩一区二区三区| 亚洲欧美国产毛片在线| 亚洲aaa精品| 高清在线不卡av| 在线看日韩精品电影| 日韩精品一区二区三区四区视频| 国产日本欧洲亚洲| 亚洲国产毛片aaaaa无费看| 免费人成在线不卡| 91在线免费看| 欧美日韩mp4| www久久久久| 一区二区三区在线视频观看| 久久精品国产久精国产爱| 国产成人精品亚洲午夜麻豆| 色婷婷亚洲精品| 日韩一区二区三区四区| 国产精品麻豆一区二区| 肉色丝袜一区二区| 波多野结衣一区二区三区| 555www色欧美视频| 一区在线中文字幕| 久久精品国产一区二区| 色综合中文字幕| 久久精品人人做人人综合 | 亚洲一二三专区| 激情文学综合网| 欧美日韩一区小说| 国产精品久久午夜夜伦鲁鲁| 奇米一区二区三区| 欧美午夜精品免费| 国产精品久99| 国产成人在线观看免费网站| 欧美群妇大交群中文字幕| 中文字幕一区二区三区在线观看 | 91精品1区2区| 国产三级一区二区| 久久精品国产一区二区三区免费看| 色婷婷香蕉在线一区二区| 国产无人区一区二区三区| 青青草国产精品97视觉盛宴| 色综合久久六月婷婷中文字幕| 久久久久久影视| 日本亚洲电影天堂| 91福利视频网站| 亚洲蜜桃精久久久久久久| 国产jizzjizz一区二区| 精品91自产拍在线观看一区| 奇米亚洲午夜久久精品| 欧美日韩第一区日日骚| 亚洲特黄一级片| 成人在线综合网站| 国产亚洲精品超碰| 极品少妇一区二区三区精品视频| 欧美人与性动xxxx| 五月天亚洲婷婷| 91蝌蚪porny| 国产精品久久夜| 波多野结衣视频一区| 中文文精品字幕一区二区| 国产精品888| 国产性做久久久久久| 国产精品 欧美精品| ww久久中文字幕| 国产麻豆成人传媒免费观看| 欧美成人福利视频| 久久99久久99| 久久久久久夜精品精品免费| 国产精品一区二区久久精品爱涩| 久久久久久99久久久精品网站| 激情亚洲综合在线| 久久精品在这里| 国产不卡视频在线观看| 国产精品久久久久7777按摩| 99久久精品99国产精品| 亚洲精品欧美二区三区中文字幕| 99久久国产综合精品女不卡| 亚洲少妇屁股交4| 在线视频观看一区| 午夜精品久久久久久久久久| 91精品国产综合久久精品| 美女视频第一区二区三区免费观看网站 | 日本乱人伦aⅴ精品| 亚洲综合小说图片| 91精品国产综合久久精品性色| 日韩av网站在线观看| 日韩欧美国产一区二区三区 | 欧美精品一区二区三区蜜臀| 国产精品亚洲人在线观看| 欧美激情一区三区| 99久久国产综合精品麻豆| 一区二区三区**美女毛片| 欧美性高清videossexo| 日韩在线a电影| 26uuu色噜噜精品一区二区| eeuss鲁一区二区三区| 亚洲午夜成aⅴ人片| 日韩精品一区在线观看| 国产91在线观看丝袜| 亚洲人午夜精品天堂一二香蕉| 欧美日韩你懂的| 韩日精品视频一区| 亚洲欧美怡红院| 欧美一区永久视频免费观看| 国产一区不卡在线| 亚洲精品国产高清久久伦理二区| 欧美色手机在线观看| 寂寞少妇一区二区三区| 中文字幕欧美激情一区| 欧美另类久久久品| 国产激情一区二区三区四区| 亚洲男女毛片无遮挡| 日韩欧美国产系列| a级高清视频欧美日韩| 亚洲成人av中文| 中文字幕第一页久久| 欧美日韩综合不卡| 国产成人在线观看| 日韩中文欧美在线| 中文字幕在线观看一区二区| 91精品国产麻豆| www.亚洲国产| 另类欧美日韩国产在线| 亚洲精品中文字幕在线观看| 欧美一级片免费看| 日本福利一区二区| 国产精品66部| 日韩av电影免费观看高清完整版 | 伊人一区二区三区| 精品毛片乱码1区2区3区| 欧美在线小视频| 国产a级毛片一区| 久久er99精品| 日日夜夜精品视频免费| 亚洲三级在线播放| 久久综合国产精品| 欧美绝品在线观看成人午夜影视 | 国产精品丝袜黑色高跟| 欧美日韩一区二区三区视频| 成人精品小蝌蚪| 九九精品一区二区| 天堂va蜜桃一区二区三区漫画版| 国产精品欧美一级免费| 26uuu色噜噜精品一区二区| 欧美高清视频一二三区| 色婷婷国产精品久久包臀| 国产91精品入口| 国产一区不卡精品| 精品在线你懂的| 日av在线不卡| 午夜在线成人av| 一区二区视频在线看| 国产精品视频一二三区| 国产日韩精品一区二区浪潮av | 免费一级欧美片在线观看| 亚洲一卡二卡三卡四卡五卡| 亚洲欧洲日韩在线| 国产精品伦一区二区三级视频| 日韩女同互慰一区二区| 欧美高清hd18日本| 国产精品丝袜久久久久久app| 欧美系列亚洲系列| 色综合视频一区二区三区高清| 成人综合在线观看|