易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下Socket编程


原文地址: http://www.kuqin.com/networkprog/20080512/8361.html
什么是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,


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

LINUX 库资料大全

经过长时间学习linux库文件的概念,今天小编也给大家搜集了关于库的概念以及作用,希望大家看后会有很多收获。
1.什么是linux库
在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅 ......

linux 常用命令

 1,基本操作
添加用户
useradd
 
删除用户
userdel
 
变更密码
passwd username
 
 
 
 
查看执行中进程
ps aux
ps auxf
ps
l  长格式输出;
u  按用户名和启动时间的顺序来显示进程;
j  用任务格式来显示进程;
f  用树形格式来显示进程;
......

linux常用c头文件

linux常用头文件如下:
POSIX标准定义的头文件
<dirent.h>       
目录项
<fcntl.h>         文件控制
<fnmatch.h>    文件名匹配类型
<glob.h>   
路径名模式匹配类型
< ......

RedHat Linux 5.4 SUN JDK的安装

1、下载jdk,可以直接在RH上下载,也可以在本机下载,然后通过psftp传上去(jdk-6u20-linux-i586-rpm.bin)
2、用putty连接linux
3、执行jdk-6u20-linux-i586-rpm.bin 没找到
4、执行./jdk-6u20-linux-i586-rpm.bin 找到,但没有权限
5、chmod 775 jdk-6u20-linux-i586-rpm.bin 改权限
6、执行./jdk-6u20-linux-i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号