linux中的伺服器函式

2021-07-24 10:41:44 字數 1932 閱讀 4075

1、  socket

函式的作用:建立乙個新的socket套接字

函式的原型:int socket(int domain,int type, int protocol)

函式的引數:domian:表示使用何種位址型別

af_inet,ipv4網路協議

af_inet6,ipv6網路協議

type : sock_stream, tcp, 面向資料流

sock_dgram,udp,使用不連續不可信賴的資料報鏈結

sock_raw,提供原始網路協議

protocol:指定socket所使用的傳輸協議編號

函式的返回值:成功:返回socket套接字描述符

失敗:-1

標頭檔案:#include

2、  bind

函式的作用:繫結ip位址

函式的原型:int bind(int sockfd, struct sockaddr* my_addr,int addrlen)

函式的引數:sockfd:socket套接字描述符

my_addr:主機位址

addrlen:sockaddr的長度

struct sockaddr

;struct sockaddr_in

;struct in_addr

;標頭檔案:#include 

#include 

函式的返回值:成功:0;

出錯:-1;

3、  listen

函式的作用:偵聽網路,等待連線

函式的原型:int listen(int  sockfd, int   backlog)

函式的引數:sockfd:描述符

backlog:允許接入的客戶端數目

函式的返回值:成功:0;

出錯:-1;

注意:listen並沒有連線,只是設定socket的偵聽模式,真正連線的是accept

4、  accpet

函式的作用:接受網路連線,客戶端連線,三次握手在這個地方

函式的原型:int  accept(int  sockfd, struct  sockaddr*  addr, int *addrlen)

函式的引數:addr:連線成功,填充遠端客戶端的位址

addrlen:struct sockaddr的長度

函式的返回值:成功:返回新的sock_fd;

失敗:-1;

5、  connect

函式的作用:建立socket連線的,通常客戶端連線伺服器用的

函式的原型:int  connect(int  sockfd, struct  sockaddr * serv_addr,int  addrlen);

函式的引數:serv_addr:表示要連線的伺服器位址

addrlen:structsockaddr的長度

函式的返回值:成功:0;

出錯:-1;

6、  send

函式的作用:經過socket傳送資料,向對方傳送資料

函式的原型:int  send(int  sock_fd, const  void* msg, int len, unsigned int flags)

函式的引數:sock_fd:accept建立起來的socket描述符,連線遠方的ip位址

msg:傳送的資料

len:資料長度

flags:設為0

函式的返回值:成功:實際傳送出去的位元組數

失敗:-1;

7、  recv

函式的作用:經過socket接收資料

函式的原型:int recv(int  sock_fd, void*buf, int len, unsigned int flags)

函式的引數:sock_fd:accept建立以後的socket套接字描述符

buf:存放的位址

len:接收資料的最大長度

flags:設為0;

伺服器安裝Linux伺服器

新辦公需要搭建一台伺服器,之前也沒有怎麼搞過,不過有一些了解,於是和同事一起嘗試安裝一下伺服器。本人使用ultraiso燒錄u盤,系統檔案是centos 6.6 x86 64 bin 1.ios,使用urtraiso開啟iso檔案,然後如下圖 接著就可以寫入,u盤會被格式化的,注意備份,等待寫入就可...

windows伺服器轉linux伺服器的點滴

有感於linux的開放姿態,最近購買了個linux伺服器。各種原因,只是用命令列形式。但問題來了,不適應不在於命令列難記之類。而在於軟體的安裝及管理,先記下來,後面將慢慢找具體的解決方案。也希望可以幫到後來者。1.軟體查詢不知道怎麼查詢。比如想安裝個subversion 或者 ftp 之類的。在wi...

Linux中ftp伺服器的搭建

1.安裝 vsftpd yum y install vsftpd 2.新增乙個ftp賬戶 useradd zhangsan 設定密碼 passwd 123456 3.防火牆中開始21埠 vim etc sysconfig iptables wq 儲存 然後重啟 service iptables re...