
网络
高司机
公众号:游戏开发司机 资深游戏服务器,曾就职IBM LSF,淘米网,网易雷火
-
原创 Linux网络编程实例详解
本文介绍了在Linux环境下的socket编程常用函数用法及socket编程的一般规则和客户/服务器模型的编程应注意的事项和常遇问题的解决方法,并举了具体代 码实例。要理解本文所谈的技术问题需要读者具有一定C语言的编程经验和TCP/IP方面的基本知识。要实习本文的示例,需要Lin2011-08-10 14:41:32958
0
-
转载 libcurl编程
一、curl简介curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持的协议有:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTT2011-08-10 14:39:531735
0
-
原创 再议libcurl编程
那是2年前用libcurl了,我肯定好久不用的知识,放置久了就会遗忘,现在我又重拾起这个知识点,重头再来,至于前面的基础知识,可以参考我的 http://blog.csdn.net/pbymw8iwm/article/details/6675754 假设你要获取URL所表示的远程主机上的资源。你需要写一段程序用来完成数据传输,你可能希望直接保存接收到的数据而不是简单的在2013-12-24 15:12:3511157
1
-
原创 关于NFS服务器的原理总结和mount挂载
nfs服务器的原理 以及如何mount挂载一个目录2015-01-26 16:54:5714926
0
-
原创 关于长连接和短连接
短连接 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接 连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接。 长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。2014-12-26 09:12:556898
0
-
转载 Google Protobuf 使用介绍
直接在 www.google.com.hk 上搜索google protobuf 后下载官方版本。官方版本支持C++\Java\Python三门语言。还有很多非官方的语言版本支持,如C\NET(C#/Vb.net)\Flex(AS3)等. 要通信,必须有协议,否则双方无法理解对方的码流。在protobuf中,协议是由一系列的消息组成的。因此最重要的就是定义通信时使用2015-03-25 14:14:09796
0
-
原创 epoll的再次认识
使用mmap加速内核与用户空间的消息传递。这 点实际上涉及到epoll的具体实现了。无论是select,poll还是epoll都需要内核把FD消息通知给用户空间,如何避免不必要的内存拷贝就很 重要,在这点上,epoll是通过内核于用户空间mmap同一块内存实现的。而如果你想我一样从2.5内核就关注epoll的话,一定不会忘记手工 mmap这一步的。顺便看一下 EPOLLET 和 E2015-04-20 17:10:44976
0
-
转载 NAT原理
网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术。下面介绍两类不同方式实现的NAT:NAT(Network Address Translators):称为基本的NAT在客户机时 192.168.0.8:4000——6.7.8.9:8000在网关时 1.2.3.4:2017-11-10 09:47:52746
0
-
转载 探索 Pexpect
概述通过本系列第一部分 《探索 Pexpect,第 1 部分:剖析 Pexpect 》(请参阅参考资料)的介绍,相信大家已经对 Pexpect 的用法已经有了比较全面的了解,知道 Pexpect 是个纯 Python 语言实现的模块,使用其可以轻松方便的实现与 ssh、ftp2011-08-15 10:16:025881
0
-
转载 TCP/IP四层模型
TCP/IP四层模型TCP/IP参考模型 ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图。2011-09-05 09:38:481494
0
-
转载 linux下的RPC
一、概述在传统的编程概念中,过程是由程序员在本地编译完成,并只能局限在本地运行的一段代码,也即其主程序和过程之间的运行关系是本地调用关系。因此这种结构在网络日益发展的今天已无法适应实际需求。总而言之,传统过程调用模式无法充分利用网络上其他主机的资源(如CPU、 Memory等),也无法提高代码在实体间的共享程度,使得主机资源大量浪费。而本文要介绍的RPC2013-02-28 17:40:5610746
0
-
原创 tcp长连接和短连接
刚接触TCP/IP通信设计的人根据范例可以很快编出一个通信程 序,据此一些人可能会认为TCP/IP编程很简单。其实不然, TCP/IP编程具有较为丰富的内容。其编程的丰富性主要体现在 通信方式和报文格式的多样性上。 一。通信方式 主要有以下三大类: (一)SERVER/CLIENT方式 1.一个Client方连接一个Server方,或称点对点(pee2013-08-20 11:21:058186
0
-
原创 socket阻塞和非阻塞的区别
简单点说:阻塞就是干不完不准回来, 非组赛就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你Copy过2011-10-23 13:37:192244
0
-
转载 对于linux socket与epoll配合相关的一些心得记录
对于linux socket与epoll配合相关的一些心得记录没有多少高深的东西,全当记录,虽然简单,但是没有做过测试还是挺容易让人糊涂的int nRecvBuf=32*1024;//设置为32Ksetsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));1、通过上面语句可以简单设置缓冲区大小,测试证明2013-12-02 22:29:027829
0
-
原创 setsockopt()用法(参数详细说明)
先来看看函数的原型:int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);然后我们来看看参数:s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPP2013-12-10 11:34:1814001
0
-
原创 关于非阻塞的recv的时候返回的处理
errno!=EINTRerrno!=EINTR注意read()如果读到数据为0,那么就表示文件结束了,如果在读的过程中遇到了中断那么会返回-1,同时置errno为EINTR。 因此判断read的条件: 如果read返回 如果==0 表示文件结束, 处理 如果2013-12-03 16:42:0928422
0
-
原创 基于Socket的UDP和TCP编程介绍
一、概述TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(streamsocket)的一种。UDP:2011-09-05 10:05:362420
0
-
转载 OpenSSL编写SSL,TLS程序
一、简介:SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版.TLS(Transport Layer Security)是IETF的TLS 工作组在SSL3.0基础之上提出的安全通信标准,目前版本是1.0,即RFC2246.SSL/TLS提供的安全机制可以保证应用层数据在互联网络传输不 被监听,伪造和窜改.openssl...2018-08-18 12:25:181096
0