首頁  >   經驗  >   TCP-Socket客戶端/服務器通信編程

体彩玩法中奖规则:TCP-Socket客戶端/服務器通信編程

查看 wujunwei 的博客 2016-02-03 18:21:14 3194
TCP   Socket  
手機閱讀 | 轉發賺積分
手機收藏 | 分享給好友
簡介學習Socket編程,肯定要自己動手寫一遍客戶端和服務器的代碼,這樣才能加深對Socket的理解。

体彩加奖规则 www.xjycrb.com.cn   今天學習Socket編程,于是自己動手寫了一遍客戶端和服務器的代碼。

  客戶端代碼:

#include <WinSock2.h>
#include <iostream>
using namespace std;

#pragma comment(lib, "ws2_32.lib")

int main()
{
	WORD Version;
	Version = MAKEWORD(1, 1);
	WSADATA data;
	int nError = WSAStartup(Version, &data);
	if(nError != 0)
	{
		int error = WSAGetLastError();
		cout << error << endl;
		cout << "初始化版本庫失敗" << endl;
		return 1;
	}
	if(HIBYTE(data.wVersion) != 1 || LOBYTE(data.wVersion) != 1)
	{
		WSACleanup();
		cout << "套接字庫版本不是1.1" << endl;
		return 1;
	}
	SOCKET mySocket = socket(AF_INET, SOCK_STREAM, 0);
	if(mySocket == INVALID_SOCKET)
	{
		WSACleanup();
		cout << "初始化套接字失敗" << endl;
		return 1;
	}
	SOCKADDR_IN addrSock;
	addrSock.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
	addrSock.sin_family = AF_INET;
	addrSock.sin_port = htons(6000);
	int nLen = sizeof(SOCKADDR);
	if(connect(mySocket, (SOCKADDR*)&addrSock, nLen))
	{
		closesocket(mySocket);
		WSACleanup();
		cout << "連接失敗" << endl;
		return 1;
	}
	while(true)
	{
		//發送數據
		char SendBuf[100] = {0};
		cin.getline(SendBuf, 100);
		if(strcmp(SendBuf, "exit") == 0) break;
		if(SOCKET_ERROR == send(mySocket, SendBuf, strlen(SendBuf) + 1, 0))
		{
			closesocket(mySocket);
			WSACleanup();
			cout << "發送數據失敗" << endl;
			return 1;
		}
		//接收數據
		char RecvBuf[100] = {0};
		if(SOCKET_ERROR == recv(mySocket, RecvBuf, 100, 0))
		{
			closesocket(mySocket);
			WSACleanup();
			cout << "接收數據失敗" << endl;
			return 1;
		}
		char strTmp[200] = {0};
		sprintf_s(strTmp, "%s say %s", inet_ntoa(addrSock.sin_addr), RecvBuf);
		cout << strTmp << endl;
	}
	closesocket(mySocket);
	WSACleanup();
	return 0;
}

  服務器代碼:

1.微信掃碼
2.點擊按鈕,粘貼命令
自動刷新 手動刷新
命令:rd 2ILp8S 復制
提示:如果您發送了命令,自動刷新會展開全文。自動刷新最多60秒,超過60秒請點擊手動刷新。
創作不易,汗水不止!為防止勞動果實被爬蟲竊取,開啟了反爬機制,需要您發送命令繼續閱讀。取關會再次出現此提示。一段時間后出現此提示,請再次發送即可。如有問題,請加客服微信Freeme007處理。感謝您的理解。
標注
評論
站內搜
百度搜
傳送到手機
手機掃碼,識別文字,完成傳送x
加載中...
標注內容x
加載中...
添加標注x
文章標題:TCP-Socket客戶端/服務器通信編程
文章地址://www.xjycrb.com.cn/article/201623182114147
轉載到個人博客,請在文末帶上右側內容(含超鏈接):本文轉載自:TCP-Socket客戶端/服務器通信編程
收藏 0 點贊 0
公眾號
微信贊賞
支付寶贊賞
領支付寶大紅包
QQ群

相關閱讀

  1. 程序員必備軟件:20 TCP客戶端V1.0軟件發布:強大、方便、專業 查找全網同類文章
  2. 網絡編程之TCP與UDP的區別 查找全網同類文章
  3. 請教socket和多線程的經驗 查找全網同類文章
  4. Linux下高效的TCP編程內存泄漏內存錯誤檢測調試流程 查找全網同類文章
  5. Tcp服務器程序移植開發的經歷(Libuv的連續回發數據的坑)總結 查找全網同類文章
  6. TCP客戶端連不上云服務器的問題解決辦法 查找全網同類文章
  7. 關于Socket編程監聽端口是否指定IP的思考 查找全網同類文章
  8. [C++] Windows Socket IO 完成端口的實現是如何實現的 查找全網同類文章
  9. 程序員必備軟件:10 UDP/TCP調試助手(TCP調試助手) 查找全網同類文章
  10. HP-Socket v3.4.2 正式發布,高性能TCP和UDP通信框架 查找全網同類文章
分享到:

相關閱讀

猜您感興趣