`
mylove2060
  • 浏览: 335927 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Boost - Socket连接(获取本地IP和远程IP)

阅读更多

Author:QQ174554431


#include "stdafx.h"
#include <iostream>
#include <boost/asio/io_service.hpp>
#include <boost/asio.hpp>
int _tmain(int argc, _TCHAR* argv[])
{
	try
	{
		boost::asio::io_service io_service;
		boost::asio::ip::tcp::socket socket(io_service);
		socket.connect(boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.10.90.121"),11111));

		std::cout<<socket.local_endpoint().address().to_string()<<std::endl; 
		//my local ip address  10.10.118.140
		std::cout<<socket.remote_endpoint().address().to_string()<<std::endl;
		//10.10.90.121
	}
	catch(std::exception& e)
	{
		std::cerr<<e.what()<<std::endl;
	}
	return 0;
}
分享到:
评论

相关推荐

    获取计算机的名称和IP地址

    在计算机网络中,获取计算机的名称和IP地址是常见的任务,尤其在编程中。本文将深入探讨如何使用C++语言来实现这一功能。 首先,计算机名称是操作系统为本地机器分配的标识符,通常用于网络通信。而IP地址...

    ROS环境下TCP/IP客户端和服务器端C++程序

    在ROS(机器人操作系统)环境中,TCP/IP通信是实现机器人组件间或者机器人与远程计算机之间通信的一种常见方式。本文将深入探讨如何使用C++在ROS环境下编写TCP/IP客户端和服务器端程序,确保其“绝对可用”。 首先,...

    如何获取某台机器的IP地址(1kb)

    在IT行业中,获取某台机器的...总之,获取机器的IP地址是网络编程的基础,无论是在本地还是远程,都可以通过相应的API和库函数来实现。对于开发者来说,理解这些功能的工作原理以及如何在不同环境下使用它们至关重要。

    socket简单通信程序 VS2013 C++

    3. 解析服务器地址:使用`getaddrinfo`函数获取服务器的IP地址和端口信息。 4. 连接服务端:调用`connect`函数尝试与服务器建立连接。 5. 发送和接收数据:使用`send`发送数据,`recv`接收数据。 6. 关闭Socket和...

    BoyChong-神2多方式取IP模块.rar

    1. **网络接口编程**:为了获取本地或远程设备的IP,模块可能使用了操作系统提供的网络接口,如Windows的`gethostbyname`或`getaddrinfo`函数,或在Unix/Linux系统上的`socket` API。 2. **DHCP协议**:如果模块...

    基于Socket的C/S通信层

    在这种模型中,基于Socket的通信层是连接客户端和服务器的关键组件,它负责建立连接、发送和接收数据,以及处理可能的错误和异常。 4. **C++编程**: 本项目使用C++语言进行开发,这是一种强大的、通用的编程语言,...

    BOOST写的通信例程客户端

    这个通信例程可能是为了教学目的,演示如何使用BOOST ASIO编写客户端应用程序,实现与远程服务器的连接和数据通信。 在使用BOOST ASIO时,开发者通常会创建一个`io_service`对象,它是整个I/O操作的调度中心。...

    远程控制编程C++源代码client和server程序

    1. **网络编程**:客户端和服务器之间的通信基于TCP/IP协议,通常使用socket编程接口。C++标准库并不直接支持网络编程,但可以借助第三方库如Boost.Asio或者直接调用操作系统提供的socket API。 2. **数据序列化与...

    xcode iOS 使用 boost::asio 的 demo

    接下来,Boost.Asio提供了一系列的处理器类,如`boost::asio::ip::tcp::socket`和`boost::asio::ip::udp::socket`,用于处理TCP和UDP连接。通过这些类,你可以建立连接、接收和发送数据。 在TCP通信中,`boost::...

    boost asio 最新版

    连接操作是网络编程中最常见的操作之一,Boost.Asio提供的`asio::connect()`函数允许用户建立到远程主机的连接。 ##### 2.10 读写函数 读取和写入数据是网络通信的基本操作,Boost.Asio提供了相应的函数`asio::read...

    文件远程传送

    在Boost.Asio中,我们可以使用`boost::asio::ip::tcp::socket`类来创建和管理套接字,这是进行网络通信的基础。 在服务端程序中,我们需要创建一个监听套接字,使用`boost::asio::acceptor`来接收来自客户端的连接...

    C++ boost开发教程

    // 连接到远程主机 boost::asio::connect(socket, boost::asio::ip::tcp::resolver(io_context).resolve("www.example.com", "http")); // 发送HTTP请求 const char request[] = "GET / ...

    asio-udp.zip

    1. 创建`boost::asio::ip::udp::socket`对象,绑定到特定的IP地址和端口号。 2. 使用`socket.send_to()`函数发送数据到指定的远程端点。 3. 使用`socket.receive_from()`函数接收来自任何源的数据,并更新接收的端点...

    实现远程控制的一个小系统

    在C++中,我们可以使用socket API来创建和管理网络连接,实现客户端和服务器之间的通信。 1. **套接字编程**:在C++中,套接字编程是通过`&lt;sys/socket.h&gt;`和`&lt;netinet/in.h&gt;`等头文件实现的。首先,我们需要创建一...

    vc实现向指定ip端口发送数据或文件,获取本机ip

    首先,需要包含`winsock2.h`头文件并初始化Winsock,然后创建套接字对象,通过`bind()`函数绑定本地IP和端口,`connect()`函数连接到远程服务器的IP和端口。数据发送可以使用`send()`函数,接收数据则使用`recv()`...

    远程监控软件原代码

    - **TCP/IP协议**:这是互联网的基础,包括TCP(传输控制协议)和IP(网际协议),负责数据的可靠传输和寻址。 - **HTTP/HTTPS**:超文本传输协议用于网页浏览,HTTPS是其安全版本,用于加密通信。 - **Socket...

    C++实现Telnet客户端源码

    在Asio库中,可以使用`boost::asio::ip::tcp::resolver`来解析服务器的地址,然后创建一个`boost::asio::ip::tcp::socket`实例并用`boost::asio::connect`函数建立连接。 2. **读写数据**:在连接建立后,客户端...

    MSWINSCK,socket控件

    3. **属性设置**:设置控件的属性,如SocketType(选择TCP或UDP)、LocalPort(本地端口)、RemoteHost(远程主机地址)和RemotePort(远程端口)。 4. **事件处理**:编写与控件相关的事件处理程序,例如OnConnect...

    c++ 远程监控实例源代码

    网络编程在C++中通常涉及到套接字(Socket)编程,它是TCP/IP协议栈的一部分,提供了进程间通信的能力。在本实例中,开发者可能使用了TCP套接字,因为它们提供了面向连接、可靠的数据传输,适合于远程控制这样需要...

    visul studio c++ 远程处理

    网络编程的核心是套接字(Socket)API,它是TCP/IP协议栈的一部分,允许不同设备间的通信。在C++中,可以使用Winsock库来操作套接字。创建套接字、绑定、监听、连接、发送和接收数据是网络编程的基本步骤。例如,你...

Global site tag (gtag.js) - Google Analytics