姓名:王芷若? ? 學號:19020100180
學院:電子工程學院
轉載自:https://blog.csdn.net/weixin_44039347/article/details/91606727?utm_source=app&app_version=4.13.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
【嵌牛導讀】:本篇文章整理Linux知識點—arm-Linux網絡編程。
【嵌牛鼻子】:網絡編程,TCP通信
【嵌牛提問】:arm-Linux網絡編程的架構是什么樣的?函數說明有哪些?
【嵌牛內容】arm-linux網絡編程
1、程序流程
(1)網絡通信程序架構-客戶端/服務器架構
(2)流程如下圖:
在這里插入圖片描述
TCP通信
2、函數說明
socket()
Sockfd=socket(AF_INET,SOCK_STREAM,0);
Bind()
s_add.sin_family=AF_INET;IPV4協議
s_add.sin_addr.s_addr=inet_addr(“192.168.1.123”);IP地址192.168.1.123
s_add.sin_port=htons(0x8888);端口號是8888
if(-1 == bind(Sockfd,(struct sockaddr *)(&s_add), sizeof(struct sockaddr)))
listen()服務器端偵聽函數
listen(Sockfd,5)服務器偵聽來自客戶端的請求
accept()服務器端接受客戶端連接請求
nfp = accept(Sockfd, (struct sockaddr *)(&c_add), sizeof(struct sockaddr);
send()數據發送函數
send(nfp,“hello,welcome to my server”,32,0)
recv()數據接收函數
recv(nfp,buffer,1024,0)
關閉連接
Close(nfp)
關閉服務器
Close(Sockfd)