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

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

?? chatclient.c

?? 實現多線程聊天室
?? C
字號:

// 我真誠地保證:
    
// 由于技術加時間的原因,我雖然沒有完全獨立的把整個程序設計出來,但是通過參考上課筆記和
// 同學的源程序我已經把整個程序的流程和細節都搞清楚,并且最終完成了整個程序。
// 如果在上述過程中,我遇到了什么困難而求教于人,那么,我將在程序實習報告中
// 詳細地列舉我所遇到的問題,以及別人給我的提示。

// 在此,我感謝張禎老師和鮑承會,吳仁海同學對我的啟發和幫助。下面的報告中,我還會具體地提到
// 他們在各個方法對我的幫助。
 
// 我的程序里中凡是引用到其他程序或文檔之處,
// 例如教材、課堂筆記、網上的源代碼以及其他參考書上的代碼段,
// 我都已經在程序的注釋里很清楚地注明了引用的出處。

// 我從未沒抄襲過別人的程序,也沒有盜用別人的程序,
// 不管是修改式的抄襲還是原封不動的抄襲。

// 我編寫這個程序,從來沒有想過要去破壞或妨礙其他計算機系統的正常運轉。
    
// 陳友元(01011105)

//文件名稱:chatclient.c
//項目名稱:聊天室	
//創建者:陳友元(01011105)
//創建時間:2004-5-31
//最后修改時間:2004-6-3
//功能: 實現多線程聊天室的客戶端
//文件中的函數名稱和簡單功能描述:用來接受其他客戶發表的信息
//文件中定義的全局變量和簡單功能描述:
//文件中用到的他處定義的全局變量及其出處:
//與其他文件的依賴關系:sock_common.h定義了調用出錯


/*以下程序是實現想多線程聊天室的服務起發送信息,并接受來自服務器的但由其他聊天者所說的信息*/
#include "sock_common.h"
#include <process.h>
#include <conio.h>
#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"libcmt.lib")
#define BUFFER_SIZE    512//定義緩沖大小為512
unsigned __stdcall ProcessThread(void *  p);
unsigned long hThreadHandle;
unsigned uThreadID;
int bquit = 0;
void main(int argc, char *argv[])
{
	WSADATA              wsaData;
	SOCKET               s;//客戶機端套接字
	SOCKADDR_IN          ServerAddr;//服務器地址
	int                  Ret;//返回值
	char				 pBuffer[BUFFER_SIZE];//定義接收緩沖
	char ch;

	if (argc <= 2)
	{
		printf("USAGE: %s <Server IP address> <Port number> .\n",argv[0]);//提示信息
		return;
	}
	//初試化低層的Windous Socket DLL失敗則提示信息
	if ((Ret = WSAStartup(MAKEWORD(2,2), &wsaData)) != 0)
	{
		printf("WSAStartup failed with error %d\n", Ret);
		return;
	}
    //創建新套接字失敗則提示信息
	if ((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET)
	{
		sockerror("Create socket failed!");
		WSACleanup();
		return;
	}
	//構造地址機構失敗則提示錯誤信息
	if(!ConstructSockaddr(&ServerAddr,argv[1],argv[2]))
	{
		printf("Construct Sockaddr error!");
		closesocket(s);
		WSACleanup();
		return;
	}
	//連接服務器失敗則提示信息
	if (connect(s, (SOCKADDR *) &ServerAddr, sizeof(ServerAddr)) == SOCKET_ERROR)
	{
		sockerror("Connect to remote failed!");
		closesocket(s);
		WSACleanup();
		return;
	} 
	//創建并初始化線程
	hThreadHandle = _beginthreadex(NULL,0,ProcessThread,(void *)&s,0,&uThreadID);
	CloseHandle((HANDLE) hThreadHandle);
	//以下程序是實現從客戶機發送信息給服務器	
	*pBuffer = '\0';
	while(strcmp(pBuffer, "offline") != 0)
	{
		if(strlen(pBuffer) > 0 )
		{
			Ret = WriteN(s,pBuffer,strlen(pBuffer));//如果緩沖區不空則發送緩沖區里的信息
			if (Ret == SOCKET_ERROR)
			{
				sockerror("Send data failed!");
				closesocket(s);
				WSACleanup();
				return;
			}
			Sleep(3);//延時
		}
		else{
			printf("Can't send null char!!\n");//如果緩沖區為空則提示不能發送空信息
		}	
		gets(pBuffer);//從客戶機端輸入聊天語言
	}
	shutdown(s,SD_SEND);//關閉發送
	while(!bquit);
	closesocket(s);//把套接字從擁有對象參考表中取消
	WSACleanup();//從底層的Windows Sockets DLL中撤消注冊
	return ;
}
//以下程序是實現從服務器端接收其他聊天者的聊天記錄
unsigned __stdcall ProcessThread(void *  p)
{
	SOCKET s = *((SOCKET *) p);
	char pBuffer[BUFFER_SIZE];//存儲聊天記錄
	int  Ret;//返回值
	while(1)
	{
		Ret = recv(s,pBuffer,BUFFER_SIZE,0);//從服務器接收信息并存入緩沖中
		if (Ret == SOCKET_ERROR)
		{
			sockerror("Receive data failed!");
			break;
		}
		if (Ret == 0) break;
		pBuffer[Ret] = '\0';
		printf(pBuffer);//在客戶機端顯示其他聊天者的話
		printf("\n-------------------------------\n");
	}
	bquit = 1;
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产第一综合99久久| 在线欧美日韩国产| 亚洲精品一区在线观看| 久久国产麻豆精品| 欧美激情自拍偷拍| av电影天堂一区二区在线观看| 日韩毛片在线免费观看| 欧美午夜电影在线播放| 蜜桃精品视频在线观看| 久久久久97国产精华液好用吗| 成人av片在线观看| 亚洲自拍另类综合| 亚洲精品一区二区在线观看| www.色精品| 视频一区二区不卡| 国产日产欧产精品推荐色| 91成人免费电影| 青青草97国产精品免费观看 | 欧美tickling网站挠脚心| 国产一区二区三区在线观看免费| 中文字幕在线一区| 欧美日韩另类国产亚洲欧美一级| 国产一区在线不卡| 亚洲欧洲三级电影| 91麻豆精品国产91久久久资源速度 | 国产精品萝li| 欧美色涩在线第一页| 国产毛片精品一区| 亚洲福利视频一区二区| 久久尤物电影视频在线观看| 在线观看日韩电影| 国产黑丝在线一区二区三区| 亚洲国产一区二区a毛片| 国产三级三级三级精品8ⅰ区| 欧美性xxxxxxxx| 从欧美一区二区三区| 青青草成人在线观看| 亚洲女人小视频在线观看| 日韩久久精品一区| 欧美日韩一区二区三区高清| 国产精品一区二区久激情瑜伽 | 99re热这里只有精品视频| 日本不卡免费在线视频| 亚洲人成精品久久久久| 久久精品一区二区三区四区| 91精品国产福利在线观看| 日本韩国一区二区| 成人av片在线观看| 国产一区二区伦理片| 日韩精品视频网| 亚洲国产一区二区三区青草影视| 国产精品久久久久久户外露出 | 国产精品理伦片| 精品国产凹凸成av人网站| 欧美午夜宅男影院| 色久优优欧美色久优优| 成人av片在线观看| 成人听书哪个软件好| 国产乱子伦视频一区二区三区| 免费高清在线视频一区·| 亚洲一区二区在线免费看| 综合婷婷亚洲小说| 国产精品伦理在线| 中文字幕在线不卡一区二区三区| 国产欧美日韩精品在线| 国产三级欧美三级| 久久久不卡网国产精品二区| 精品少妇一区二区三区视频免付费| 欧美顶级少妇做爰| 337p亚洲精品色噜噜噜| 88在线观看91蜜桃国自产| 欧美日韩一区二区三区在线 | 久久不见久久见免费视频1| 日本麻豆一区二区三区视频| 三级亚洲高清视频| 天天综合天天综合色| 五月综合激情日本mⅴ| 午夜av一区二区| 奇米一区二区三区| 国内久久婷婷综合| 高清不卡一区二区| 91免费观看视频| 91黄色免费看| 欧美日韩国产综合草草| 91精品免费在线| 久久女同精品一区二区| 久久久综合激的五月天| 久久久91精品国产一区二区精品| 国产欧美日韩不卡| 亚洲精品自拍动漫在线| 亚洲妇熟xx妇色黄| 麻豆成人av在线| 国产一区二区在线看| 丁香婷婷综合五月| 在线观看一区二区视频| 欧美日韩精品欧美日韩精品| 欧美一级国产精品| 欧美极品另类videosde| 一区二区在线观看视频| 青青国产91久久久久久| 国产一区不卡视频| 99精品视频一区二区| 欧美日韩国产一区| 久久久99久久| 亚洲电影你懂得| 国产一区欧美二区| 色综合久久88色综合天天免费| 欧美性色黄大片手机版| 欧美成va人片在线观看| 国产精品青草综合久久久久99| 亚洲综合丁香婷婷六月香| 韩国欧美国产一区| 91视频免费观看| 精品美女一区二区三区| 自拍偷拍欧美精品| 久久99精品国产91久久来源| 99国产精品久| 日韩欧美www| 亚洲精品va在线观看| 国内精品自线一区二区三区视频| 色综合久久99| 久久婷婷久久一区二区三区| 一区二区三区日韩欧美精品 | 国产精品久久久久9999吃药| 日韩在线一区二区| 97se亚洲国产综合自在线观| 日韩精品一区在线| 一二三区精品视频| 国产成人精品免费一区二区| 制服丝袜亚洲精品中文字幕| 亚洲婷婷综合久久一本伊一区| 免费成人在线观看视频| 色先锋aa成人| 中文字幕电影一区| 久久激情五月婷婷| 欧美三区在线观看| 国产精品蜜臀在线观看| 极品尤物av久久免费看| 在线不卡中文字幕播放| 一区二区三区中文字幕在线观看| 国产精品系列在线播放| 91精品国产全国免费观看 | 日韩福利视频导航| 欧美在线视频你懂得| 中文字幕中文在线不卡住| 国产精品综合一区二区| 日韩无一区二区| 日日噜噜夜夜狠狠视频欧美人| 色欧美日韩亚洲| 成人欧美一区二区三区小说| 国产成人精品亚洲日本在线桃色 | av一区二区三区四区| 久久久精品中文字幕麻豆发布| 青娱乐精品视频在线| 7777精品久久久大香线蕉| 亚洲图片自拍偷拍| 色婷婷激情一区二区三区| 自拍偷在线精品自拍偷无码专区| 成人污视频在线观看| 国产农村妇女精品| 国产成人av一区二区| 337p粉嫩大胆色噜噜噜噜亚洲 | 香蕉久久夜色精品国产使用方法| 欧美在线免费播放| 亚洲综合激情另类小说区| 欧美最猛性xxxxx直播| 一区二区三区久久| 欧美影院午夜播放| 午夜精彩视频在线观看不卡| 91精品国模一区二区三区| 日本人妖一区二区| 精品sm在线观看| 国产成人av在线影院| 国产精品家庭影院| 91行情网站电视在线观看高清版| 亚洲一区二区视频在线观看| 欧美精品日韩一本| 另类调教123区| 久久这里都是精品| 不卡的av电影| 一区二区三区丝袜| 91精品国产综合久久久蜜臀粉嫩| 免费在线观看日韩欧美| 国产婷婷色一区二区三区| 国产成人在线视频网站| 亚洲人成在线播放网站岛国| 欧美色图一区二区三区| 精品一区二区三区香蕉蜜桃| 中文字幕第一区第二区| 欧日韩精品视频| 久久99久久精品| 国产精品电影一区二区三区| 欧美在线三级电影| 精品一区二区在线观看| 中文字幕在线观看一区二区| 欧美日本免费一区二区三区| 国产一区二区三区香蕉 | 欧美一区永久视频免费观看| 国产精品亚洲人在线观看| 亚洲精品国产a|