- 博客(23)
- 收藏
- 关注
转载 socket accept
今天与同学争执一个话题:由于socket的accept函数在有客户端连接的时候产生了新的socket用于服务该客户端,那么,这个新的socket到底有没有占用一个新的端口? 讨论完后,才发现,自己虽然熟悉socket的编程套路,但是却并不是那么清楚socket的原理,今天就趁这个机会,把有关socket编程的几个疑问给搞清楚吧。 先给出一个典型的TCP/IP通信示意图。
2015-06-24 11:38:26 891
转载 select 方法
原型int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,const struct timeval* timeout);nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。 writefds:(可选)指针,指向一组
2015-01-23 10:58:57 1345
转载 ims 注册鉴权认证过程
摘要:IP多媒体子系统(IMS)作为3G网络的核心控制平台,其安全问题正面临着严峻的挑战。IMS的接入认证机制的实现作为整个IMS安全方案实施的第一步,是保证IMS系统安全的关键。基于认证和密钥协商(AKA)的IMS接入认证机制是由因特网工程任务组(IETF)制定,并被3GPP采用,广泛应用于3G无线网络的鉴权机制。此机制基于“提问/回答”模式实现对用户的认证和会话密钥的分发,由携带AKA参数的S
2015-01-21 15:44:49 12227 1
原创 20150119
昨天周一,在上周五有以下三只黑天鹅:【黑天鹅一】:证监会昨日通报证券公司融资类业务现场检查情况:部分券商存在违规为到期融资融券合约展期、向不符合条件的客户融资融券、未按规定及时处分客户担保物、违规为客户与客户之间融资提供便利等问题。 证监会对中信证券、海通证券、国泰君安证券采取暂停融资融券新开信用账户三个月的措施;对招商证券、广发证券采取责令限期改正的措施;对安信证券、中投证券采
2015-01-20 16:57:22 474
转载 volet 学习
IMS,这一通讯领域的新宠,确实有他的优势所在,现在的难点不是技术,感觉是怎么使用新技术来构建更好的用户体验! 现在技术不是问题,只要有人,就搞得定,但东西做出来没人用就完了。IMS秉承了NGN的融合思想,将网络融合做到了最好! SIP 这一历史上最灵活最好用的协议统一了IMS的呼叫建立信令,可见起强大!加之IPV6,一切资源都尽在其中。 要融合,必然要兼容以前的旧网
2015-01-08 18:35:55 737
原创 20141212
对于这个股市的总结:从12.1到12.4号开始上证指数一直是飘红,从2500点升到2800多点,从数据来看是许多大资金进入导致拉高,这样进一步带到散户进入,有一种几乎疯狂的上升,所以在12.5号那天微下调了下,12.6和12.7号礼拜两天过后,12.8号星期一大部分的散户可能觉得会进一步下调,但大机构则继续拉高,让人们看不懂,这样使的散户改变主意觉得牛市真的来了,所以继续加仓,股市继续上涨。到了1
2014-12-12 16:00:33 449
原创 sip 服务器 kamailio ipv6配置
http://kb.asipto.com/kamailio:kamailio-mixed-ipv4-ipv6
2014-06-19 11:32:22 1617
转载 ipv6 ipv4的socket编码的区别
大家都知道,随着互联网上主机数量的增多,现有的32位IP地址已经不够用了,所以推出了下一代IP地址IPv6,写网络程序的要稍微改变一下现有的网络程序适应IPv6网络是相当容易的事。对于我们来说就是IP地址变化了,所以程序里在用到IP地址的地方做相应的改变就可以了。记住:主要是改变程序里设置IP地址和端口等部分的代码。服务器端源代码如下:/******************
2014-05-22 14:08:24 1639
转载 ipv6 编码
IPv6程序相对于IPv4改动并不大。其中主要的改动就是地址结构与地址解析函数。在RFC中详细说明了socket api 为适应IPv6所做的改动。而且windows平台与Linux平台在实现上也几乎是一样的。只不过头文件与支持程度等有所不同罢了(具体请参见RFC 2553与RFC 2292)。如读者有兴趣的话可以找RFC来看看,在这里就不再详细说明,只讲最简单的原理与例子,同时例出各主要so
2014-05-22 14:05:56 1324
转载 ipv6 ipv4的不同
目前运行主流的IT系统中,用于解决分布式系统内部模块及不同的系统间通信的一种主要的解决方案就是使用套接字Socket来开发应用。由于当前大部分正在运行的IT系统中使用套接字Socket开发环境基本上都是基于IPv4完成的,因此在IT系统由IPv4向IPv6演进方案中如何完成这部分相关应用的演进就显得尤为的关键,下面本文将从技术角度分别从编程API接口的差异性、为实现IPv6重构软件的关键技术及如何
2014-05-20 13:44:42 2804
原创 tcp recv 和 udp recvfrom 接收的包个数
对于tcp 的recv来说,当应用层调用该接口时,socket层会给它的buffer里填充多少数据是不确定的,有可能是一个包,或者1.5个包,或者3个包,也有可能是几个字节,也有可能是几k数据,上层只能根据自己用的应用协议来解返回的数据。对于udp的recvfrom来说,当应用层调用该接口时,socket层会给它的buffer里只填充一个数据包,所以比较好解析。
2014-03-31 15:22:38 2035
转载 select poll epoll 对比
linux提供了select、poll、epoll接口来实现IO复用,三者的原型如下所示,本文从参数、实现、性能等方面对三者进行对比。 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);int poll(struct po
2014-03-19 16:46:08 412
转载 Socket INADDR_ANY INADDR_LOOPBACK 127.0.0.1
linux下的socket INADDR_ANY表示的是一个服务器上所有的网卡(服务器可能不止一个网卡)多个本地ip地址都进行绑定端口号,进行侦听。不光是多个网卡的问题.见如下server listen:80 0.0.0.0 //INADDR_ANY,外部的client ask 从哪个server的地址近来都可以连接到80端口
2014-02-13 16:37:37 2712
原创 rece buffer
从tcp数据传输的角度来说,传输速度取决于接收窗口和数据包在链路上的往返时间对于tcp建立连接时的sys包里的接收窗口主要根据系统配置里的的tcpbuffer参数(ReadMin, ReadInitial, ReadMax),配合算法得出的。在接收过程中,这个接收窗口会根据算法发送改变,比如当接收端收到数据时,它把 ACK 发送回发送端以表明成功接收到这些字节。在每个 ACK 中,“窗口”
2014-01-27 15:43:38 1280
转载 IANA
简介IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)是负责协调一些使Internet正常运作的机构。同时,由于Internet已经成为一个全球范围的不受集权控制的全球网络,为了使网络在全球范围内协调,存在对互联网一些关键的部分达成技术共识的需要,而这就是IANA的任务。更准确地说,IANA分配和维护在互联网技术标准(或者称为协议
2014-01-10 16:59:15 1227
原创 关于c c++ 混编包含的头文件出现的问题
c++头文件里难免有些类、引用等等c语言里面没有的东西,把他们包含到c文件里,gcc可处理不了。提到的 expected ';', ',' or ')' before '&' token 多半就是因为某个函数声明里有引用。c文件包含c++文件不太好,首先应该设法从设计上避免。为什么要包含这个头文件?大概是为了宏定义、函数声明等等,既然这些东西要被c文件用到,那么就应该尽量把他们
2014-01-08 17:12:01 671
转载 tcp与udp数据包的大小
MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。由于以太网EthernetII最大的数据帧是15
2013-12-16 15:56:19 661
转载 UDP数据包的大小
UDP数据包大小问题 转帖自: http://blog.csdn.net/buptzwp/archive/2009/12/22/5055487.aspx 在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好?当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,这里仅对像ICQ一类的发送聊天消息的情况作分析,对于其他情况,或许也能
2013-12-16 15:55:08 754
原创 socket 非阻塞的几种方式
Connet write 在非阻塞时select是否可写Accept read在非阻塞时, select是否可读Listen close没有所谓的阻塞状态 对于非阻塞的UDP的read,如果没有数据则返回-1,error为 EWOULDBLOCK对于非阻塞的tcp的read,如果没有数据则返回-1,error为 EWOULDBLOCK
2013-12-05 10:42:00 650
转载 select
一、winsock中#include 原型int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,const struct timeval* timeout);nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。
2013-12-05 10:27:47 714
原创 4G LTE概念以及VoLTE
LTE是指长期演进技术(英语:Long Term Evolution,常简写为LTE),商业宣传上通常被称作4G LTE,但事实上是3.5G下HSDPA迈向4G的过度版本。也曾经被俗称为3.9G,直到2010年12月6日国际电信联盟把LTE Advanced正式定义为4G。LTE是应用于手机及数据卡终端的高速无线通讯标准,该标准基于旧有的GSM/EDGE和UMTS/HSPA网络技术,并使用调制技术
2013-11-13 16:44:16 4225
原创 socket bind
在最开始接触bind的时候,只是在写基于tcp的server端的时候,知道在listen之前需要先bind一下,用来确保socket能在某个固定的端口监听。而bind的时候,函数参数中的端口填自己将要绑定的端口就行;而IP地址,需要填本机的IP,但是也可以用一个宏INADDR_ANY代替,用这个宏就可以不用查找本机的IP,它就可以代替本机的IP。当时只觉得这个INADDR_ANY比较神奇,但是由于
2013-10-30 14:02:12 725
转载 address的网络字节的转换接口
对于ipv4来说,以下三个接口是常用的。http://blog.csdn.net/zhangboyj/article/details/6157263inet_addr() 简述:将一个点间隔地址转换成一个in_addr。 #include unsigned long PASCAL FAR inet_addr( const struct FAR* cp
2013-10-29 14:10:12 816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人