unix環境程式設計 UDP通訊

2021-06-22 05:21:05 字數 1245 閱讀 6120

(一)udp伺服器

程式設計的端一般步驟是: 1

、用函式socket()

建立socket

,第二個引數為sock_dgram

2、用函式bind()

繫結ip

位址、埠資訊

3、用函式recvfrom()

接收資料

4、關閉網路連線;

udp客戶端

程式設計的一般步驟是: 1

、建立乙個socket

,用函式socket()

,第二個引數為sock_dgram

2、使用connect()

來建立與服務程式的連線

3.傳送資料,用函式send()

4.關閉網路連線

(二)udp

通訊服務端程式為:

# include # include # include # include # define maxsize 256 

int main(void)

if(bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr))==-1)

n=recvfrom(sockfd,buf,maxsize,0,(struct sockaddr *)&clientaddr,(socklen_t *)&addrlen);

if(n==-1)

buf[n]='\0';

printf("%s \n",buf);

close(sockfd);

return 0;

}

客戶端程式為:

# include # include # include # include # define maxsize 256 

int main(void)

printf("%d \n",sockfd);

if(connect(sockfd,(struct sockaddr *)&servaddr,(socklen_t)sizeof(servaddr))<0)

printf("conneted \n");

//memset(sbuf,0,20);

if(send(sockfd,sbuf,strlen(sbuf)+1,0)<0)

printf(" sended");

close(sockfd);

return 0;

}

unix 網路程式設計 UDP

udp user datagram protocol 程式傳送資料給 udp socket,資料先被封裝成 udp資料報,然後又被封裝成ip資料報,然後被傳送到目標方。資料是否被正確傳輸無任何保證 是否到達目標方,是否按正確順序到達,是否目標方只收到乙份資料 每個udp資料報都有長度,這個長度包含在...

unix環境高階程式設計 程序間通訊(2)

函式popen和pclose 常見的操作是建立乙個連線到另乙個程序的管道,然後讀其輸出或向其輸入端傳送資料,這兩個函式實現的操作是 建立乙個管道,fork乙個子程序,關閉未使用的管道端,執行乙個shell執行命令,然後等待命令終止。函式popen執行fork,呼叫exec執行cmdstring,返回...

UNIX網路程式設計學習 五 UDP程式設計

udp相比tcp是無連線的。它收發資料是通過recvfrom和sendto兩個函式。它們的原型如下 ssize t recvfrom int sockfd,void buff,size t nbytes,int flags,struct sockaddr from,socklen t addrlen...