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...