过程:
入门级的测试程序
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网络编程大全》这本书籍中的PDF文档可能涵盖了这些知识点的详细讲解,并且提供实际的代码示例,帮助读者深入理解并实践Socket编程。无论是初学者还是有经验的开发者,都可以从中受益,提升网络编程能力...
C++socket网络编程大全实战http服务器(支持php)视频培训教程概况:本课程会同时演示在linux和windows中的编程,课程中的线程和正则表达式都使用c++提供库。本课程包含了socket网络编程常用的所有特性,包括tcp、udp...
c++socket网络软件实例,有ftp,端口扫描,,等等
C++_Socket网络编程大全
这个压缩包“socket网络编程好的例子”应该包含了一些完整的C++ Socket编程示例代码,你可以通过学习和运行这些代码,更深入地理解Socket网络编程的概念和实践。记得在实际开发中,根据项目需求选择适当的网络模型...
socket网络编程C++版小实验,有客户端和服务器端的源代码。 socket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。(其实就是两...
Socket编程的核心是建立通信通道,然后在这个通道上发送和接收数据。 ### 简单服务器的实现 #### 代码解析 ```cpp // 引入必要的头文件 #include #pragmacomment(lib,"WS2_32.lib") WSADATA wsd; static UINT ...
C++ Socket 编程是指使用 C++ 语言和_socket 编程技术来实现网络应用的开发。Socket 编程是网络编程中的一种重要技术,它允许不同的计算机之间通过网络进行通信。 OSI 七层网络模型 OSI 七层网络模型是一个开放式...
本项目旨在用C++编写程序利用 connectToHost 和 nextPendingConnection 函数在每个用户端各创建两个 readWriteSocket,实现两两用户之间可以互发消息,通信完成。
Linux下使用C++进行Socket编程是一门涉及网络通信的高级技术。在Linux操作系统中,Socket编程通常采用C语言,因为传统的GNU C库提供了丰富的Socket API函数,但这些函数是面向过程设计的,没有面向对象的封装,使用...
在IT行业中,网络编程是构建分布式系统和网络应用的基础,而C++ Socket编程则是实现这一目标的重要工具。Socket是操作系统提供的接口,允许程序通过网络进行通信。本实例提供了C++实现的服务端(server.cpp)和客户端...
C++ Socket编程是一种在C++中实现网络通信的技术,它基于Berkeley Sockets API,用于构建客户端和服务器应用程序。在本资料中,我们将深入探讨C++ Socket编程的基础、原理以及高级应用,包括如何使用Ice进行分布式...
在C++中实现TCP网络编程,我们需要包含相关的头文件,如`<iostream>`、`<string>`、`<sys/socket.h>`、`<arpa/inet.h>`、`<unistd.h>`等,并使用套接字API来创建、绑定、监听和接受连接。以下是关键步骤的简要概述:...
在IT领域,网络通信是不可或缺的一部分,而C++作为强大的编程语言,提供了丰富的库支持进行网络...压缩包中的"**C++Socket编程**"文件可能包含了详细的代码示例和步骤解析,对于学习和理解C++ socket编程非常有帮助。
总的来说,MFC网络助手C++ Socket网络通讯涉及了网络编程的基础知识,包括socket的创建、绑定、监听、连接、收发数据以及线程管理等关键步骤。通过理解和实践这样的项目,开发者可以更好地掌握网络通讯技术,为构建...
首先,"C++_Socket网络编程大全"是关于使用C++进行Socket编程的全面教程。Socket是网络通信的基础,它为应用程序提供了低级别的接口,可以用来发送和接收数据。C++通过标准库中的`<sys/socket.h>`和`<netinet/in.h>`...
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...