linux tcp 创建,Linux下tcp服务器创建的步骤
創(chuàng)建一個(gè)socket,使用函數(shù)socket()
socket(套接字)實(shí)質(zhì)上提供了進(jìn)程通信的端點(diǎn),進(jìn)程通信之前,雙方首先必須建立各自的一個(gè)端點(diǎn),否則沒有辦法通信。通過socket將IP地址和端口綁定之后,客戶端就可以和服務(wù)器通信了
#include
int socket(int domain , int type ,int protocol)
返回值:成功返回套接字文件描述符,失敗返回-1
struct sockaddr_in (或者 struct sock_addr)用于記錄網(wǎng)絡(luò)地址
struct sockaddr_in
{
short int sin_family;/*協(xié)議族*/
unsigned short int sin_port;/*端口號(hào)*/
stunt in_addr sin_addr; /*協(xié)議特定地址*/
unsigned char sin_zoero[8]; /*填0*/
}
IP地址轉(zhuǎn)換
int inet_aton(const char *cp,struct in_addr *inp)//將a.b.c.d形式的IP轉(zhuǎn)換為32位的IP。存儲(chǔ)在inp指針里
char *inet_ntoa(struct in_addr in)//將32位IP轉(zhuǎn)換位a.b.c.d的格式
字節(jié)序轉(zhuǎn)換
綁定IP地址和端口信息到socket,使用函數(shù)bind()
讓用戶發(fā)現(xiàn)用以連接的服務(wù)器的地址
返回值:成功返回0,失敗返回-1
#include
int bind ( int sockfd , const struct sockaddr *addr , socklen_t len );
設(shè)置允許的最大連接數(shù),使用函數(shù)listen()
服務(wù)器調(diào)用listen函數(shù)來宣告可以接受連接請(qǐng)求
#include
int listen(int sockfd , int backiog );
返回值:成功返回0,失敗返回-1
參數(shù)backiog:用于表示服務(wù)器能接受的請(qǐng)求數(shù)量
等待來自客戶端的連接請(qǐng)求,使用函數(shù)accept( )
#include
int accept( int sockfd ,struct sockaddr *restrict addr , socklen_t * restrict len );
收發(fā)數(shù)據(jù),用函數(shù)recv()、send()/ sendto()或者 read()、write()
關(guān)閉網(wǎng)絡(luò)連接,close
內(nèi)容來源于網(wǎng)絡(luò)如有侵權(quán)請(qǐng)私信刪除
總結(jié)
以上是生活随笔為你收集整理的linux tcp 创建,Linux下tcp服务器创建的步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。