網路程式設計 本地socket

2021-09-26 10:54:36 字數 2352 閱讀 7801

示例流程圖:

/* 建立乙個udp連線的socket */

sockfd = socket(pf_inet, sock_dgram, 0);

/* 變數servaddr清零 */

bzero(&service_addr, sizeof(service_addr));

service_addr.sin_family = af_inet;

service_addr.sin_addr.s_addr = htonl(udp_ip); //指定ip

service_addr.sin_port = htons(udp_port);

/* 繫結servaddr到建立的socket上 */

bind(sockfd, (struct sockaddr *)&service_addr, sizeof(service_addr));

/* 接收客戶端傳送的資料 */

recvfrom(sockfd, recvline, 1024, 0, (struct sockaddr_in)&client_addr, &n);

printf("[service]: %s\n", recvline);

/* 傳送資料 */

sprintf(sendline, "stop request");

sendto(sockfd, sendline, strlen(sendline), 0, (struct sockaddr *)&client_addr, sizeof(servaddr));

/* 關閉socket連線 */

close(sockfd);

return 1;

}

/*****************************

* udp-client.c

******************************/

#include #include #include #include #define udp_port 58888

#define udp_ip "127.0.0.1"

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

; struct sockaddr_in servaddr;

if(argc != 2)

/* 建立乙個udp的socket連線 */

sockfd = socket(pf_inet, sock_dgram, 0);

/* 變數servaddr清零 */

bzero(&servaddr, sizeof(servaddr));

servaddr.sin_family = af_inet;

servaddr.sin_port = htons(udp_port);

servaddr.sin_addr.s_addr = inet_addr(udp_ip);

char sendline[100];

sprintf(sendline, "hello, world!");

/* 傳送資料 */

sendto(sockfd, sendline, strlen(sendline), 0, (struct sockaddr *)&servaddr, sizeof(servaddr));

/* 接收客戶端傳送的資料 */

recvfrom(sockfd, recvline, sizeof(recvline), 0, (struct sockaddr *)&servaddr, &n);

printf("[client]: %s\n",recvline);

/* 關閉socket連線 */

close(sockfd);

return 1;

}

網路程式設計 Socket程式設計

一 網路部分 1.ip 2.埠號 在網路協議中使用埠號識別主機上不同的程序,不同的埠對應於不同的服務 應用程式 3.協議 tcp二 socket部門socket通訊基本流程圖 根據socket通訊基本流程圖,總結通訊的基本步驟 伺服器端 第一步 建立乙個用於監聽連線的socket對像 第二步 用指定...

socket網路程式設計

首先認識乙個表示主機資訊的結構體 struct hostent h addrtype 這是表示主機所使用的位址型別的定義,在c語言winsock2.h標頭檔案中以 af 開頭的巨集定義就是它的值。如果使用的是ipv4,則值為 af inet 如果是ipv6,值為 af inet4 h length ...

Socket網路程式設計

socket 網路程式設計 在c free中建立乙個對話方塊工程,取名socket1,建立如下檔案結構 main.h ifndef main h define main h include bool winapi main proc hwnd hwnd,uint umsg,wparam wparam...