Socket
zhangboyj
这个作者很懒,什么都没留下…
展开
-
Socket编程指南及示例程序
例子代码就在我的博客中,包括六个UDP和TCP发送接受的cpp文件,一个基于MFC的局域网聊天小工具工程,和此小工具的所有运行时库、资源和执行程序。代码的压缩包位置是http://www.blogjava.net/Files/wxb_nudt/socket_src.rar。1 前言在一些常用的编程技术中,Socket网络编程可以说是最简单的一种。而且Socket编程需要的基础知识很少,适合初学者学习网络编程。目前支持网络传输的技术、语言和工具繁多,但是大部分都是基于Socket开发的,虽说这转载 2011-01-18 09:27:00 · 505 阅读 · 0 评论 -
用ioctl获得本地ip地址
用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解的方法,在描述中可能会有一些地方与真实定义有所出入,仅供参考. 首先先认识一下ifconf和ifreq: //ifconf通常是用来保存所有接口信息的//if.hstruct ifconf {int ifc_len; /* size of buffer */ union {char *ifcu_buf;转载 2011-01-18 16:00:00 · 769 阅读 · 0 评论 -
Linux内核的ioctl函数学习
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl。<br />ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:<br />int ioctl(int fd, ind cmd, …);<br />转载 2011-01-21 15:33:00 · 880 阅读 · 0 评论 -
struct sockaddr_in和struct sockaddr区别
struct sockaddr { unsigned short sa_family; /* 地址族, AF_xxx */ char sa_data[14]; /* 14字节的协议地址*/ };上面是通用的socket地址,具体到Internet socket,用下面的结构,二者可以进行类型转换struct sockaddr_in { short int sin_family; /* 地址族 */ unsigned short int sin_port;转载 2011-01-22 11:28:00 · 1664 阅读 · 0 评论 -
ioctl函数详细说明
ioctl 函数本函数影响由fd 参数引用的一个打开的文件。#includeint ioctl( int fd, int request, .../* void *arg */ );返回0 :成功 -1 :出错第三个参数总是一个指针,但指针的类型依赖于request 参数。我们可以把和网络相关的请求划分为6 类:套接口操作文件操作接口操作ARP 高速缓存操作路由表操作流系统下表列出了网络相关ioctl 请求的request 参数以及arg 地址必须指向的数据类型:类别Request说明数据类型套接口S转载 2011-01-21 14:43:00 · 808 阅读 · 0 评论 -
inet_ntoa、 inet_aton、inet_addr
inet_addr() 简述:将一个点间隔地址转换成一个in_addr。 #include unsigned long PASCAL FAR inet_addr( const struct FAR* cp); cp:一个以Internet标准“.”间隔的字符串。 注释: 本函数解释cp参数中的字符串,这个字符串用Internet的“.”间隔格式表示一个数字的Internet地址。返回值可用作Internet地址。所有Internet地址以网络字节顺序返回(字节从左到右排列)。 Interne转载 2011-01-21 16:13:00 · 64123 阅读 · 0 评论 -
自编 socket 通信示例
client和server均在本机。服务器端代码:#include #include #include #include #include #include #include #include #include #include #define SERVPORT 3333 /*服务器监听端口号 */#define BACKLOG 10 /* 最大同时连接请求数 */main(){ int sockfd,client_fd; /*sock_fd:监听socket;client_fd:数据传输socket */原创 2011-02-25 11:25:00 · 688 阅读 · 0 评论 -
Linux下Socket编程
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该转载 2011-02-12 14:39:00 · 486 阅读 · 0 评论 -
Linux系统编程---socket编程(全+精)
1. 预备知识1.1. 网络字节序 我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分,磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。网络数据流同样有大端小端之分,那么如何定义网络数据流的地址呢?发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存,因此,网络数据流的地址应这样规定:先发出的数据是低地址,后发出的数据是高地址。 TCP/IP协议规定,网络数据流应采用大端字节序原创 2011-02-24 13:33:00 · 1440 阅读 · 0 评论