`
talin2010
  • 浏览: 517244 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

C++的SOCKET一些笔记.

阅读更多

我是在BCB6下写的程序,不一定通用.最近才开始学习.

使用STRING:

1 引用<string>不带H.</string>

2 要使用名字空间:using namespace std;

否则会出些错误,至少在BCB下是这样的.

域名转换为IP:

gethostbyname()

代码:

string gethostip(string &host)
{
WSADATA wsaData;
string IP;
int pos=0;
char temp[255];
strcpy(temp,host.c_str());
while(temp[pos++]=='\\');
pos--;
WSAStartup(MAKEWORD(2,0),&wsaData);
if(host.empty() )
{
char hostname[128];
if(gethostname(hostname,128)!=0)
return string("");
host=hostname;
}
try
{
struct hostent *hp=gethostbyname(temp+pos);//host.c_str());
if (hp== NULL)
{
IP="";
}
else
IP=inet_ntoa(*(struct in_addr*)hp->h_addr_list[0]);
}
catch(...)
{
IP="";
}
WSACleanup();
printf("%s\n\r",IP);
return IP;
}

这段代码是网上找到的.我稍改了一点.在BCB下通过.

用SOCKET读网页的时候有时候会阻塞停在这个函数处recv()

网上有朋友介绍了几种方案,我是用setsockopt这个来解决的.

效果还好.至少不会停住不动了.

向网站发送GET请求的时候,要加HOST:域名.


C++的这个目前看是比C#速度快一些.
分享到:
评论

相关推荐

    C++开发面试笔记.zip

    本面试笔记旨在为C++开发者提供一份全面的复习指南,帮助他们在面试中脱颖而出,成功迈进大厂的大门。 首先,深入理解C++的基础知识是至关重要的。这包括基本语法、数据类型、运算符、控制结构(如if语句和循环)、...

    Socket网络编程学习笔记.zip

    "TCP_UDP_Socket学习笔记.md" 文件很可能会详细阐述这些概念,包括如何创建和使用Socket对象,如何处理连接和数据传输,以及在实际应用中的注意事项。此外,笔记可能还会包含实例代码,帮助初学者更好地理解和实践...

    C++软件开发工程师面试学习笔记.zip

    这份"C++软件开发工程师面试学习笔记"涵盖了C++程序员进阶大厂所必须了解的关键知识点,包括但不限于C++面试常见问题、设计模式、数据结构、操作系统原理以及网络编程等内容。 1. **C++面试常见问题**: - 内存...

    日常记录笔记,JILU笔记.zip

    标题中的“JILU笔记.zip”表明这是一份与学习或工作记录相关的压缩文件,而“日常记录笔记,保存资源用”进一步确认了这是一份用于存储日常学习或工作经验的文档集合。根据给出的标签“C/C++ JAVA”,我们可以推测这...

    javase笔记.7z

    这个压缩包“javase笔记.7z”显然包含了关于JavaSE的学习笔记,可能包括了核心概念、语法、API使用等内容。下面我们将深入探讨JavaSE的一些关键知识点。 一、Java语言基础 1. **语法结构**:Java是一种静态类型的、...

    读书笔记:C++&amp;&amp;Java socket网络编程 学习socket 案例快速入手.zip

    读书笔记:C++&amp;&amp;Java socket网络编程 学习socket 案例快速入手

    java笔记.rar

    以上就是Java编程涉及的一些核心知识点,这份"java笔记.rar"可能涵盖了这些内容的详细解释和示例代码,对于学习和巩固Java技能大有裨益。通过深入学习和实践,你可以成为一名熟练的Java开发者。

    使用C_C++实现Socket聊天程序

    Socket编程是计算机网络通信中的重要概念,特别是在C++这样的编程语言中,它是构建客户端-服务器应用的基础。本主题主要关注如何使用C++实现基于Socket的聊天程序,涉及到TCP和UDP两种传输协议。 首先,让我们理解...

    Visual C++学习笔记

    ### Visual C++学习笔记知识点详解 #### 1. Win32API详解 Win32API是微软为其32位平台提供的应用程序编程接口(Application Programming Interface),适用于所有基于Win32平台运行的应用程序。通过调用Win32 API中...

    高性能服务器编程 游双 全套源码注释+全套笔记.zip

    C++通过标准库如`&lt;sys/socket.h&gt;`,`&lt;netinet/in.h&gt;`等,提供了对socket接口的封装,用于创建套接字、绑定、监听、接受连接和发送/接收数据。 4. **异步I/O**:对于高并发场景,传统的阻塞I/O模型效率低下。非阻塞I...

    嵌入式linux应用开发学习笔记.zip

    在"嵌入式Linux应用开发学习笔记.zip"这个压缩包中,我们可以预见到包含了一系列有关这一主题的学习资料,比如代码示例、教程文档或者项目实践。其中的"Embedded-Linux-master"可能是一个项目的源代码库,下面我们将...

    python笔记.docx

    以上是Python学习笔记中涉及的一些核心概念和用法,这只是Python编程的一个初步介绍,实际Python语言还包括更多如函数、模块、面向对象编程、异常处理、文件操作、正则表达式等内容。深入学习Python,可以更好地利用...

    基于PyQt5实现的邮件拦截系统、视频播放器、以及pyqt5的学习笔记.zip

    在PyQt5中实现这样的系统,需要理解如何使用Python的socket库或第三方库(如smtplib、poplib、imaplib)来与邮件服务器交互。 3. 视频播放器:视频播放器的开发涉及到多媒体处理、解码、帧同步、播放控制等多个技术...

    CoreJava学习笔记.doc

    Java语法简洁且严谨,与C++相比,它去除了指针、内存管理等复杂特性,降低了程序出错的可能性。Java的一大亮点在于其跨平台性,通过Java虚拟机(JVM)实现“一次编写,到处运行”。此外,Java还具有良好的安全性,...

    Java-J2SE学习笔记.rar

    11. **Java的网络编程**:Java提供了丰富的网络编程API,如Socket、ServerSocket、URL、URLConnection等,用于实现客户端和服务器间的通信。 12. **JDBC(Java Database Connectivity)**:Java通过JDBC API与各种...

    JAVA笔记.rar

    Java的语法与C++类似,但更简洁。它包括变量声明、数据类型(如整型、浮点型、字符型、布尔型等)、运算符(算术、关系、逻辑、位运算符等)、控制结构(如if-else、switch、for、while循环)和流程控制。 2. **类...

    C++网络编程笔记1

    本篇笔记将深入探讨ACE库在C++网络编程中的应用和设计思路。 首先,我们来理解什么是ACE库。ACE是一个开源的C++框架,由Douglas C. Schmidt领导的团队开发,它提供了一组用于构建分布式和网络软件的可移植组件。ACE...

    Socket学习笔记

    在提供的学习笔记和课件中,你可能还会学习到如何使用各种编程语言(如Java、C++或Python)实现Socket编程,以及如何调试和优化Socket程序。通过实践和理论结合,你将能够更好地理解和掌握Socket通信的核心原理和...

    1 第一天 魔乐java基础视频学习笔记.docx

    Java是一种广泛使用的高级编程语言,它的语法结构与C和C++相似,但更注重安全性和跨平台性。Java的核心理念是“一次编写,到处运行”,这意味着Java程序可以在任何支持Java虚拟机(JVM)的操作系统上运行。自1995年...

Global site tag (gtag.js) - Google Analytics