`
ileson
  • 浏览: 215016 次
  • 性别: Icon_minigender_1
  • 来自: 河南省
社区版块
存档分类
最新评论

请您先登录,才能继续操作

C++ Socket 网络编程

 
阅读更多
过程:




入门级的测试程序

1、客户端代码

#include <stdio.h>
#include <Winsock2.h>
#pragma comment(lib,"ws2_32.lib")

/**
 *TCP 客户端
 */
void main(void){

	/*加载套接字库---开始*/
	WORD wVersionRequested;
	WSADATA wsaData;
	int err;

	wVersionRequested=MAKEWORD(1,1);

	err=WSAStartup(wVersionRequested,&wsaData);
	if(err!=0){
		return;
	}

	if(LOBYTE(wsaData.wVersion)!=1||HIBYTE(wsaData.wVersion)!=1){
		WSACleanup();
		return ;
	}
	/*加载套接字库---结束*/


	SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
	
	SOCKADDR_IN addrSrv;//定义一个服务器地址结构
	addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//绑定服务器IP地址
	addrSrv.sin_family=AF_INET;
	addrSrv.sin_port=htons(6000);//与服务器端绑定的端口号保持一致。

	connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//向服务器发送请求

	char recvBuf[100];
	recv(sockClient,recvBuf,100,0);//接收服务器端发送过来的数据
	printf("%s\n",recvBuf);

	send(sockClient,"welcomeA",strlen("welcomeA")+1,0);//向服务器端发送数据
	
	closesocket(sockClient);

	WSACleanup();

}


2、服务器端代码

#include <Winsock2.h>
#include <stdio.h>

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


/**
 *TCP socket Server
 */
int main(){
	
	/*加载套接字库---开始*/
	WORD wVersionRequested;
	WSADATA wsaData;
	int err;

	wVersionRequested=MAKEWORD(1,1);

	err=WSAStartup(wVersionRequested,&wsaData);
	if(err!=0){
		return 1;
	}

	if(LOBYTE(wsaData.wVersion)!=1||HIBYTE(wsaData.wVersion)!=1){
		WSACleanup();
		return 2;
	}
	/*加载套接字库---结束*/



	//创建服务器端 socket
	SOCKET socketSrv=socket(AF_INET,SOCK_STREAM,0);

	SOCKADDR_IN addrSrv;//socket 服务端地址结构
	addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//网络字节序转换
	addrSrv.sin_family=AF_INET;
	addrSrv.sin_port=htons(6000);
    
	//绑定创建 的socket 
	bind(socketSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

	//将套节字设置为监听模式
	listen(socketSrv,5);


	SOCKADDR_IN addrClient;//客户端地址结构,用来接收客户端的地址信息
	int len=sizeof(SOCKADDR);


	//死循环
	while(1){
		SOCKET sockConn=accept(socketSrv,(SOCKADDR*)&addrClient,&len);// 接受客户端连接,获取客户端的ip地址
		char sendBuf[120];
		sprintf(sendBuf,"welcome");
		send(sockConn,sendBuf,sizeof(sendBuf)+1,0);//发送welcome到客户端
		char recvBuf[100];
		recv(sockConn,recvBuf,100,0);//接收客户端发来的数据
		printf("%s\n",recvBuf);
		closesocket(sockConn);
	}

	return 0;
}



不错的入门介绍
  • 大小: 77.2 KB
分享到:
评论

相关推荐

    C++ Socket网络编程大全

    《C++ Socket网络编程大全》这本书籍中的PDF文档可能涵盖了这些知识点的详细讲解,并且提供实际的代码示例,帮助读者深入理解并实践Socket编程。无论是初学者还是有经验的开发者,都可以从中受益,提升网络编程能力...

    C++socket网络编程--http服务器(支持php)实战教学视频

    C++socket网络编程大全实战http服务器(支持php)视频培训教程概况:本课程会同时演示在linux和windows中的编程,课程中的线程和正则表达式都使用c++提供库。本课程包含了socket网络编程常用的所有特性,包括tcp、udp...

    c++socket网络编程

    c++socket网络软件实例,有ftp,端口扫描,,等等

    C++_Socket网络编程大全

    C++_Socket网络编程大全

    C++ socket网络编程好的例子

    这个压缩包“socket网络编程好的例子”应该包含了一些完整的C++ Socket编程示例代码,你可以通过学习和运行这些代码,更深入地理解Socket网络编程的概念和实践。记得在实际开发中,根据项目需求选择适当的网络模型...

    socket网络编程C++版

    socket网络编程C++版小实验,有客户端和服务器端的源代码。 socket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。(其实就是两...

    C++_Socket网络编程大全.pdf

    Socket编程的核心是建立通信通道,然后在这个通道上发送和接收数据。 ### 简单服务器的实现 #### 代码解析 ```cpp // 引入必要的头文件 #include #pragmacomment(lib,"WS2_32.lib") WSADATA wsd; static UINT ...

    C++Socket编程详解

    C++ Socket 编程是指使用 C++ 语言和_socket 编程技术来实现网络应用的开发。Socket 编程是网络编程中的一种重要技术,它允许不同的计算机之间通过网络进行通信。 OSI 七层网络模型 OSI 七层网络模型是一个开放式...

    基于C++ Socket 网络编程斗地主大作业

    本项目旨在用C++编写程序利用 connectToHost 和 nextPendingConnection 函数在每个用户端各创建两个 readWriteSocket,实现两两用户之间可以互发消息,通信完成。

    Linux下使用C++进行Socket编程

    Linux下使用C++进行Socket编程是一门涉及网络通信的高级技术。在Linux操作系统中,Socket编程通常采用C语言,因为传统的GNU C库提供了丰富的Socket API函数,但这些函数是面向过程设计的,没有面向对象的封装,使用...

    c++ socket编程实例(服务端及客户端)

    在IT行业中,网络编程是构建分布式系统和网络应用的基础,而C++ Socket编程则是实现这一目标的重要工具。Socket是操作系统提供的接口,允许程序通过网络进行通信。本实例提供了C++实现的服务端(server.cpp)和客户端...

    C++ socket绝密编程资料.rar

    C++ Socket编程是一种在C++中实现网络通信的技术,它基于Berkeley Sockets API,用于构建客户端和服务器应用程序。在本资料中,我们将深入探讨C++ Socket编程的基础、原理以及高级应用,包括如何使用Ice进行分布式...

    C++ 基于Socket的TCP网络编程(IPv4)

    在C++中实现TCP网络编程,我们需要包含相关的头文件,如`&lt;iostream&gt;`、`&lt;string&gt;`、`&lt;sys/socket.h&gt;`、`&lt;arpa/inet.h&gt;`、`&lt;unistd.h&gt;`等,并使用套接字API来创建、绑定、监听和接受连接。以下是关键步骤的简要概述:...

    C++socket编程实例

    在IT领域,网络通信是不可或缺的一部分,而C++作为强大的编程语言,提供了丰富的库支持进行网络...压缩包中的"**C++Socket编程**"文件可能包含了详细的代码示例和步骤解析,对于学习和理解C++ socket编程非常有帮助。

    MFC网络助手C++socket网络通讯

    总的来说,MFC网络助手C++ Socket网络通讯涉及了网络编程的基础知识,包括socket的创建、绑定、监听、连接、收发数据以及线程管理等关键步骤。通过理解和实践这样的项目,开发者可以更好地掌握网络通讯技术,为构建...

    linux c++ socket 多线程1

    首先,"C++_Socket网络编程大全"是关于使用C++进行Socket编程的全面教程。Socket是网络通信的基础,它为应用程序提供了低级别的接口,可以用来发送和接收数据。C++通过标准库中的`&lt;sys/socket.h&gt;`和`&lt;netinet/in.h&gt;`...

    Linux C++ socket网络编程----------即时通信系统.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

Global site tag (gtag.js) - Google Analytics