溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++ socket網(wǎng)絡(luò)編程方法是什么

發(fā)布時(shí)間:2021-11-19 12:49:08 來源:億速云 閱讀:123 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“C++ socket網(wǎng)絡(luò)編程方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C++ socket網(wǎng)絡(luò)編程方法是什么”吧!

功能

完成Cpp客戶端簡單功能,可收發(fā)數(shù)據(jù)。

源碼

#define _WINSOCK_DEPRECATED_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
//網(wǎng)絡(luò)庫文件
#include <winsock2.h>
//引入ws2_32.lib
#pragma comment(lib,"ws2_32.lib")
using std::cout;
using std::endl;
using std::cin;
int main()
{
	system("chcp 65001");
	WSADATA wsaData;
	if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
	{
		cout << "WSAStartUp error " << GetLastError() << endl;
		return 0;
	}
	//1、創(chuàng)建句柄
	SOCKET clientSocket = socket(AF_INET, SOCK_STREAM, 0);
	//2、連接服務(wù)端
	// connect(綁定的句柄, 服務(wù)端地址, 第二個(gè)參數(shù)的大小);
	SOCKADDR_IN ServerAddr;
	ServerAddr.sin_family = AF_INET;
	ServerAddr.sin_port = htons(7890);
	ServerAddr.sin_addr.s_addr = inet_addr("127.0.0.1");//點(diǎn)分十進(jìn)制轉(zhuǎn)化為十進(jìn)制
	if (SOCKET_ERROR == connect(clientSocket, (sockaddr *)&ServerAddr, sizeof(SOCKADDR_IN)))
	{
		cout << "連接失敗" << endl;
		return 0;
	}
	//3、接收發(fā)送數(shù)據(jù)
	while (true)
	{
		char buffer[1024] = { 0 };
		scanf("%s", buffer);
		send(clientSocket, buffer, strlen(buffer), 0);
		int nRecv = recv(clientSocket, buffer, 1024, 0);
		if (nRecv <= 0)
		{
			break;
		}
		printf("[%d]接收數(shù)據(jù), %s\n", nRecv, buffer);
	}
	printf("斷開連接\n");
	//4、關(guān)閉句柄
	return 0;
}

效果

C++ socket網(wǎng)絡(luò)編程方法是什么

到此,相信大家對(duì)“C++ socket網(wǎng)絡(luò)編程方法是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI