Linux socket编程
什么是Socket
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。
Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。
网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。Socket建立为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。socket函数原型为:
int socket(int domain, int type, int protocol);
domain指明所使用的协议族,通常为PF_INET,表示互联网协议族(TCP/IP协议族);
type参数指定socket的类型: SOCK_STREAM或SOCK_DGRAM,Socket接口还定义了原始Socket( SOCK_RAW),允许程序使用低层协议;
protocol通常赋值"0"。
Socket()调用返回一个整型socket描述符,你可以在后面的调用使用它。
Socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用Socket函数时,socket执行体将建立一个Socket,实际上"建立一个Socket"意味着为一个Socket数据结构分配存储空间。Socket执行体为你管理描述符表?
两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机
端口、远端主机地址和远端协议端口。Socket数据 结构中包含这五种信息。
Socket配置
通过socket调用返回一个socket描述符后,在使用socket进行网络传输以前,必须配置该socket。面向连接的socket客户端通过调用Connect函数在socket数据结构中保存本地和远端信息。无连接socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。
Bind函数将socket与本机上的一个端口相关联,随后你就可以在该端口监听服务请求。Bind函数原型为:
int bind(int sockfd,struct sockaddr *my_addr, int
相关文档:
1.安裝fedora 11(里面的PHP版本适合安装MAGENTO) 如果安装别的版本,升级上就很有问题
2.安装需要的程序
yum install php-mcrypt
yum install php-gd
yum install php-dom
3.利用magento-check.php检查能够安装magento
4.启动MYSQLA数据库 ser ......
网上关于grep的一搜一大堆,都是grep详解什么的,并且都是同一篇文章,写的几个例子也不实用,
对于初学者,想要的是怎么好用,而不是复杂的眼花缭乱的“详解”。
我在网上找了好半天就是找不到一个实用的例子。很是郁闷~~
最后看着帮助文档,参考网上资料,一个参数一个参数的试,最终觉得这几个比较好用。 ......
Linux 运行的时候,是如何管理共享库(*.so)的?在 Linux 下面,共享库的寻找和加载是由 /lib/ld.so 实现的。 ld.so 在标准路经(/lib, /usr/lib) 中寻找应用程序用到的共享库。
但是,如果需要用到的共享库在非标准路经,ld.so 怎么找到它呢?
目前,Linux 通用的做法是将非标准路经加入 /etc/ld.so.conf,然后运行 ldconf ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
Linux
发行版有多少?是不是太多了?实际情况究竟怎样?
昨天上午,我回到人民大学校园,见到几位
20
多年前的老同事,他们仍然坚守工作岗位 ......
ifconfig eth0 新IP
然后编辑/etc/sysconfig/network-scrIPts/ifcfg- eth0,修改IP
一、修改IP地址
[aeolus@db1 network-scrIPts]$ vi ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=219.136.241.211
NETMASK=255.255.255.128
GATEWAY=219.136.241.254
二、修改网关
vi /etc/sysconfig/network
N ......