代码改变世界

随笔分类 -  Linux网络编程

size_t和ssize_t

2014-09-03 11:01 by youxin, 637 阅读, 收藏, 编辑
摘要: Ssize_t 与size_t跟踪linux源码得到以下宏:#ifndef _SIZE_T#define _SIZE_Ttypedef __kernel_size_t size_t;#endif#ifndef _SSIZE_T#define _SSIZE_Ttypedef __kernel_ssi... 阅读全文

Creating a web server in pure C(c/c++ 写web server)

2014-08-23 20:18 by youxin, 1046 阅读, 收藏, 编辑
摘要: 一个简单的例子:https://github.com/fekberg/GoHttp一个运行在windows上例子:http://www.adp-gmbh.ch/win/misc/webserver.htmlhttp://www.ibm.com/developerworks/systems/libra... 阅读全文

《 UNIX网络编程》源码的使用

2014-08-23 17:47 by youxin, 1842 阅读, 收藏, 编辑
摘要: 学习编程这东西,看代码,改代码,运行代码这样才能学到实际东西!本书说在www.unpbook.com可以获取源码,不过打不开!所以googleunpv13e.tar.gz并在网络上找到了:源码:http://code.google.com/p/stid/downloads/detail?name=u... 阅读全文

Ubuntu Telnet 配置(openbsd-inetd)

2014-08-23 14:28 by youxin, 2484 阅读, 收藏, 编辑
摘要: Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。可以通过Telnet实现远程登录Ubuntu,但是Ubuntu 10.10默认没有安装Telnet,需要在线安装,并手动配置。1:sudo apt-get install openbsd-inetd2:... 阅读全文

行为树实现AI逻辑

2014-07-14 16:06 by youxin, 704 阅读, 收藏, 编辑
摘要: http://blog.csdn.net/kenkao/article/details/6099966http://www.aisharing.com/archives/99http://www.uml.org.cn/oobject/201310291.asphttp://www.aisharing... 阅读全文

《unix网络编程》笔记

2014-06-23 19:59 by youxin, 661 阅读, 收藏, 编辑
摘要: inet_pton和inetntop函数。字母p和n代表presentation和numeric。地址的表达presentation格式通常是ASCIL串,数值(numeric)格式则是存在于套接字地址结构中的二进制值。inet_pton和inet_ntop函数是比较新的函数,它们能够处理ipv4和... 阅读全文

Beej网络socket编程指南

2014-06-21 18:13 by youxin, 380 阅读, 收藏, 编辑
摘要: bind()函数 一旦你有一个套接字,你可能要将套接字和机器上的一定的端口关联 起来。(如果你想用listen()来侦听一定端口的数据,这是必要一步--MUD 告 诉你说用命令 "telnet x.y.z 6969"。)如果你只想用 connect(),那么这个步 骤没有必要。但是无论如何,请继续... 阅读全文

IP处理函数inet_aton()和inet_ntoa(),inet_pton,inet_ntop

2014-06-21 17:29 by youxin, 6478 阅读, 收藏, 编辑
摘要: inet_ntoa:功能:将一个IP转换成一个互联网标准点分格式的字符串。原型:char FAR * inet_ntoa( struct in_addrin);返回值:如果正确,返回一个字符指针,指向一块存储着点分格式IP地址的静态缓冲区(同一线程内共享此内存);错误,返回NULL。与此相反的函数:... 阅读全文

Linxu安装Lamp环境

2014-04-21 20:55 by youxin, 236 阅读, 收藏, 编辑
摘要: 安装MySQL数据库sudoapt-getinstallmysql-servermysql-client下图为提示输入数据库密码,然后回车,之后还有提示,再重复输入一次,再回车最后安装完后进数据库测试一下是否安装成功,看到欢迎信息就ok了mysql-uroot-p***3、安装Apache服务器su... 阅读全文

mangos搭建

2014-04-21 20:47 by youxin, 2046 阅读, 收藏, 编辑
摘要: github地址:https://github.com/mangos/MaNGOSMaNGOS是(MassiveNetworkGameObjectServer) 的缩写。由于暴雪公司对类似的开发小组采取过一些法律行动。为了避免麻烦,如同它的名字,mangos强调自己并非一个魔兽服务器模拟器,而是一个... 阅读全文

Linux 多线程编程

2014-02-25 20:00 by youxin, 612 阅读, 收藏, 编辑
摘要: Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux下pthread的实现是通过系统调用clone()来实现的。clone()是Linux所特有的系统调用,... 阅读全文

linux中fork()函数

2014-02-25 18:25 by youxin, 967 阅读, 收藏, 编辑
摘要: man fork:FORK(2) Linux Programmer's Manual FORK(2)NAME fork - create a child processSYNOPSIS #include... 阅读全文

Linux socket编程

2014-02-25 16:11 by youxin, 350 阅读, 收藏, 编辑
摘要: 1、网络中进程之间如何通信?本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。 阅读全文

转: linux下错误的捕获:errno和strerror的使用

2014-02-25 14:36 by youxin, 422 阅读, 收藏, 编辑
摘要: 经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。 在程序代码中包含 #include,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量就可以获得失败原因了。 例如:#include #include #include int main(void){int fd;extern int errno;if((fd =open("/dev/d 阅读全文

网络编程中几个地址结构与转换(in_addr,sockaddr,sockaddr_in,pcap_addr)

2014-02-25 13:08 by youxin, 2183 阅读, 收藏, 编辑
摘要: man socket可以查看相关信息。socket头文件: #include /* See NOTES */ #include int socket(int domain, int type, int protocol);。struct sockaddr { unsign... 阅读全文

TCP 协议

2014-02-24 21:37 by youxin, 2118 阅读, 收藏, 编辑
摘要: ==已经了解了以太网和IP了,下面我们进入传输层,开始讲解TCP协议。==仍然先把TCP报文段的格式放在这里,然后我们看图说话:TCP报文段也分为首部和数据两部分,首部默认情况下一般是20字节长度,但在一些需求情况下,会使用“可选字段”,这时,首部长度会有所增加。 下面,我们仍然延续讲解IP协议的思路,针对不同的域, 解: 【源端口】- 16bit 来源处的端口号;【目的端口】- 16bit目的处的端口号;【序号】- 32bit每一个TCP报文段都会有一个序号,序号字段的值其实是本报文段所发送的数据的第一个字节的序号。这是因为TCP是面向连接的可靠服务... 阅读全文

tcp抓包 Wireshark 使用

2014-02-24 21:25 by youxin, 32515 阅读, 收藏, 编辑
摘要: fidder主要是针对http(s)协议进行抓包分析的,所以类似wireshark/tcpdump这种工作在tcp/ip层上的抓包工具不太一样,这种工具一般在chrome/firefox的开发者工具下都有集成。安装wireshare会推荐安装winpcap,winpcap(windows packe... 阅读全文