当前位置:首页 » 专业资讯
开发技术指南» 文章正文
    引言: 一,前言 TCP(Transfer Control Protoc
 

 

 ·重新装了一次lfs    »显示摘要«
    摘要:lfs 6.0大概一个星期左右吧.中午吃饭时间差不多都用上了,上个周末利用加班时间也编译了不少.整个安装过程(制作过程)没出现什么大问题,就有几次make check的时候报了错误.报的错误也没管,接着往下装.系统起来之后不认识usb键盘,其他的好象都正常.换了普通键盘之后,就没什么问题了.网络也是通的.下面可以装装blfs了.......
 ·linux中的shell命令    »显示摘要«
    摘要:shell的技巧命令行   用户登录到linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:    $ date   二 11 23 01:34:58 cst 1999    $   用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或tab隔开......


UNIX下的Socket编程
一,前言

【相关文章:相关文件共享服务

【扩展阅读:Linux 挂载文件系统

tcp(transfer control protocol)传输控制协议是一种面向连接的协议,客户端与服务端的连接是可靠的,安全的. 【扩展信息:Linux 档案与目录管理

sockets最早是作为bsd规范提出来的,并已成为unix操作系统下tcp/ip网络编程标准,但是,随着网络技术的不断进步,

sockets的应用范围已不再局限于unix操作系统与tcp/ip网络,但是我这次主要介绍是基于linux上的socket编程,但所有

示例程序都在sco以及linux上编译通过,并且运行正常.

一般的网络程序分为server端与client端.

二,函数详细介绍

1, int socket(int domain, int type,int protocol)

domain:说明我们网络程序所在的主机采用的通讯协族(af_unix与af_inet等).

其实这里指定的是地址族,在unix中协议族与地址族是一一对应的.

af_unix只能够用于单一的unix系统进程间通信,而af_inet是针对internet的,

因而可以允许在 远程 主机之间通信(当我们 man socket时发现 domain可选项

是 pf_*而不是af_*,因为glibc是posix的实现 所以用pf代替了af,实际上查看

sys/socket.h会发现如下定义:#define af_inet 2 ,#define pf_inet af_inet).

type:我们网络程序所采用的通讯协议(sock_stream,sock_dgram,sock_raw等)

sock_stream表明我们用的是tcp协议,这样会提供按顺序的,可靠,双向,面向连接的比特流.

sock_dgram 表明我们用的是udp协议,这样只会提供定长的,不可靠,无连接的通信.

sock_raw提供对internal network interfaces的访问,只有特权程序才能使用。对应ip协议、icmp协议等等。

protocol:由于我们指定了type,所以对应了单一的protocal,所以这个地方我们一般只要用0来代替就可以了 .

如果存在多协议,则必须明确指定.

socket为网络通讯做基本的准备.成功时返回一个socket号,失败时返回-1.

server端与client端都使用本函数.

2, int bind(int sfd, struct sockaddr_in *addr, int len)

sfd:是由socket调用返回的描述符即socket号.

addr:是一个指向sockaddr_in的指针.

len:是sockaddr结构的长度. sizeof ( struct sockaddr )

在<linux/in.h>中sockaddr_in的定义为

struct sockaddr_in

{

unsigned short sin_family;

unsigned short int sin_port;

struct in_addr sin_addr;

unsigned char sin_zero[8];

}

sin_family一般为af_inet,

sin_addr设置为inaddr_any表示可以与任何的主机通信,

sin_port是我们要监听的端口号.

sin_zero[8]暂时未用


...   下一页
 ·/proc/<pid>/stat各个字段的描述    »显示摘要«
    摘要:/proc/<pid>/stat各个字段的描述 is there a pgm that will interpret all the fields that are printed by cat /proc/pid/stat ( or statm, or any of the info on a per process basis )see if the following simple function and the associated ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE