#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
// 初始化 Winsock.
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR )
printf("Error at WSAStartup()\n");
// 建立socket socket.
SOCKET client;
client = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if ( client == INVALID_SOCKET )
{
printf( "Error at socket(): %ld\n", WSAGetLastError() );
WSACleanup();
return -1;
}
// 连接到服务器.
sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = inet_addr( "127.0.0.1" );
clientService.sin_port = htons( 27015 );
if ( connect( client, (SOCKADDR*) &clientService, sizeof(clientService) ) == SOCKET_ERROR)
{
printf( "Failed to connect.\n" );
WSACleanup();
return -1;
}
// 发送并接收数据.
int bytesSent;
int bytesRecv = SOCKET_ERROR;
char sendbuf[32] = "Client: Sending data.";
char recvbuf[32] = "";
bytesSent = send( client, sendbuf, strlen(sendbuf), 0 );
printf( "Bytes Sent: %ld\n", bytesSent );
while ( bytesRecv == SOCKET_ERROR )
{
bytesRecv = recv( client, recvbuf, 32, 0 );
if ( bytesRecv == 0 || bytesRecv == WSAECONNRESET )
{
printf( "Connection Closed.\n");
break;
}
if (bytesRecv < 0)
return -1;
printf( "Bytes Recv: %ld\n", bytesRecv );
}
return 0;
}
分享到:
相关推荐
**C++ Socket通信库** C++ Socket通信库是用于实现网络通信的一种工具,它基于操作系统提供的Socket接口,为开发者提供了一种在C++程序中进行网络数据交换的标准方法。Socket库简化了网络编程,允许程序员通过调用...
在C++中,Socket编程是网络通信的基础,用于创建客户端和服务器端的连接。本话题主要探讨的是在C++ Socket编程中的阻塞模式与非阻塞模式,以及它们在多线程环境下的应用和资源管理。 一、阻塞与非阻塞模式 1. **...
C++ Socket 编程详解 C++ Socket 编程是指使用 C++ 语言和_socket 编程技术来实现网络应用的开发。Socket 编程是网络编程中的一种重要技术,它允许不同的计算机之间通过网络进行通信。 OSI 七层网络模型 OSI 七层...
C++ Socket通信框架是网络编程中的重要组成部分,它允许程序通过网络进行数据交换。在Windows平台上,使用C++实现Socket通信通常涉及到Windows Socket API(也称为Winsock)。本框架“HP-Socket”专为Windows环境...
在QT框架中,C++ Socket通信是实现网络数据交换的基础,它允许客户端和服务端通过网络进行数据传输。本文将深入探讨如何在QT中使用C++编写客户端和服务端的socket通信代码,以及涉及到的关键操作。 首先,我们需要...
C++ Socket库文档 在计算机科学中,网络通信是至关重要的部分,特别是在开发分布式系统或进行数据交换时。C++ Socket库提供了一种在C++中实现网络编程的方法,允许程序通过Internet或本地网络发送和接收数据。...
在IT行业中,网络编程是构建分布式系统和网络应用的基础,而C++ Socket编程则是实现这一目标的重要工具。Socket是操作系统提供的接口,允许程序通过网络进行通信。本实例提供了C++实现的服务端(server.cpp)和客户端...
### C++ Socket编程:向固定网卡发送数据 #### 知识点概览 本文将基于给定的代码示例,深入探讨C++中的Socket编程技术,并解释如何使用Socket进行客户端编程来向指定的IP地址发送数据。我们将涵盖以下几个方面: - ...
C++ Socket编程是网络编程中的基础,用于在不同的设备或程序之间建立通信通道。源代码通常是程序员用C++编写的程序或库,用于实现特定功能,例如在这个案例中,是Socket通信。以下是对C++ Socket源代码的一些详细...
C++ SOCKET编程是一种在C++中实现网络通信的技术,它基于Berkeley Sockets接口,允许开发者创建客户端和服务器应用程序,实现跨网络的数据传输。SOCKET是操作系统提供的一个接口,使得程序能够通过网络发送和接收...
在IT领域,网络通信是不可或缺的一部分,而C++作为强大的编程语言,提供了丰富的库支持进行网络...压缩包中的"**C++Socket编程**"文件可能包含了详细的代码示例和步骤解析,对于学习和理解C++ socket编程非常有帮助。
在IT领域,Linux环境下的C++ Socket编程是网络通信的核心技术之一。Socket接口提供了一种在不同进程间通过网络进行通信的方法,无论这些进程是否在同一台机器上。本压缩包包含了一个简单的TCP服务器(TCPServer.zip...
在IT领域,网络编程是不可或缺的一部分,而C++ Socket编程是实现TCP通信的重要技术。本示例中的"TCP Demo"提供了C++实现TCP客户端和服务器的简单应用,通过socketserver.cpp和socketclient.cpp两个文件来展示。下面...
C++ Socket编程是网络通信中的基础技术,它允许程序通过网络发送和接收数据。在C++中,Socket接口是基于伯克利套接字(Berkeley Sockets)API设计的,这是一种广泛使用的跨平台网络编程接口。下面我们将深入探讨C++ ...
在Windows平台上进行网络编程时,C++ Socket库是不可或缺的一部分,它允许程序通过TCP/IP协议进行数据通信。本文将深入探讨由外国人编写的这个特定的C++ Socket库,并结合提供的"Socket.cpp-master"代码示例,讲解其...
C++ Socket编程是一种在C++中实现网络通信的技术,它基于Berkeley Sockets API,用于构建客户端和服务器应用程序。在本资料中,我们将深入探讨C++ Socket编程的基础、原理以及高级应用,包括如何使用Ice进行分布式...
在Linux操作系统中,C++ Socket编程是实现网络通信的基础,它允许程序通过网络发送和接收数据。本教程将深入探讨如何在Linux环境下进行简单的C++ Socket编程,包括基本概念、步骤以及示例代码。 首先,Socket是网络...
在IT领域,网络编程是构建分布式系统和网络应用的基础,而C++ Socket编程则是实现这一目标的重要技术之一。本文将深入探讨C++ Socket网络编程的相关知识点,帮助开发者理解和掌握其核心概念、步骤以及常见问题。 ...
C++ Socket编程是网络编程中的一个重要领域,它允许C++程序通过网络进行通信,比如创建服务器来接收客户端的连接请求,或者构建客户端程序与远程服务器交互。以下是对C++ Socket编程的一些关键知识点的详细说明: 1...
在IT领域,网络编程是不可或缺的一部分,而C/C++中的socket编程则是实现网络通信的基础。本文将通过"标题"和"描述"提供的信息,详细解释C/C++ socket的基本概念、简单示例,以及如何在Visual Studio 2005环境下进行...