socket程式設計學習之UDP模式

2021-09-26 03:42:59 字數 1807 閱讀 7624

1、目的:根據udp程式設計模式

,編寫乙個可以進行通訊的程序。

2、編寫檔案主要包括:

3、各個檔案詳細**如下:

公共標頭檔案:utili.h

#include#include#include#include#include#define buffer_max_size 256

char sendbuf[buffer_max_size];

char recvbuf[buffer_max_size];

#define listen_port 8080

#define listen_ip "127.0.0.1"

#define listen_backlog 5

int socket(int domain, int type, int protocol)

return fd;

}int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen)

return ret;

}

伺服器程序**:ser.c

#include "utili.h"

int main(int argc, char *ar**)

struct sockaddr_in addrser;

addrser.sin_family = af_inet;

addrser.sin_port = htons(7070);

addrser.sin_addr.s_addr = inaddr_any;

socklen_t addrlen = sizeof(struct sockaddr);

bind(sockser, (struct sockaddr*)&addrser, addrlen);

struct sockaddr_in addrcli;

while(1)

close(sockser);

return 0;

}

客戶端**:cli.c

#include "utili.h"

int main()

struct sockaddr_in addrser;

addrser.sin_family = af_inet;

addrser.sin_port = htons(7070);

addrser.sin_addr.s_addr = inet_addr("127.0.0.1");

socklen_t addrlen = sizeof(struct sockaddr);

while(1)

close(sockcli);

return 0;

}

makefile**:

all:ser cli

ser:ser.c

gcc -o ser ser.c

cli:cli.c

gcc -o cli cli.c

.phony:clean

clean:

rm ser cli

4、make:生成檔案ser和cli

5、分別執行ser和cli進行通訊(借助putty):

伺服器:

客戶端:

UDP之Socket程式設計

建立服務端socket物件 datagramsocket datagramsocket server newdatagramsocket 12331 建立接受資料報的容器 byte bytes newbyte 1024 datagrampacket packet newdatagrampacket ...

socket網路程式設計學習之tcp與udp

不管你採用的是哪種位址家族,都有兩種不同風格的套接字連線。第一種是面向連線的 這意味著在進行通訊之前必須先建立乙個連線,例如,使用 系統給乙個朋友打 這 種型別的通訊也稱為虛擬電路或流套接字。48 第 1 部分 通用應用主題 面向連線的通訊提供序列化的 可靠的和不重複的資料交付,而沒有記錄邊界。這基...

基於UDP的socket程式設計

轉貼自 udpsocket sockets 套接字 程式設計有三種,流式套接字 sock stream 資料報套接字 sock dgram 原始套接字 sock raw 基於udp的socket程式設計是採用的資料報套接字。在這個程式中,將兩個工程新增到乙個工作區。同時還要鏈結乙個ws2 32.li...