C語言實現scoket通訊。

來源:互聯網
上載者:User

標籤:

伺服器端:

#include <sys/types.h>#include <sys/socket.h>                                                                         // 包含通訊端函數庫#include <stdio.h>#include <netinet/in.h>                                                                         // 包含AF_INET相關結構#include <arpa/inet.h>                                                                          // 包含AF_INET相關操作的函數#include <unistd.h>int main(){   int server_sockfd, client_sockfd;                                                            // 用於儲存伺服器和客戶通訊端標識符   int server_len, client_len;                                                                  // 用於儲存伺服器和客戶訊息長度   struct sockaddr_in server_address;                                                   // 定義伺服器通訊端地址   struct sockaddr_in client_address;                                                   // 定義客戶通訊端地址   server_sockfd = socket(AF_INET, SOCK_STREAM, 0);                     // 定義通訊端類型   server_address.sin_family = AF_INET;                                                 // 定義通訊端地址中的域   server_address.sin_addr.s_addr = inet_addr("127.0.0.1");                     // 定義通訊端地址   server_address.sin_port = 9734;                                                              // 定義通訊端連接埠   server_len = sizeof(server_address);   bind(server_sockfd, (struct sockaddr *) &server_address, server_len);        // 定義通訊端名字   listen(server_sockfd, 5);                                                                    // 建立通訊端隊列   while (1) {      char ch;      printf("伺服器等待訊息\n");      client_len = sizeof(client_address);      client_sockfd = accept(server_sockfd,                                             // 接受串連            (struct sockaddr *) &client_address,            (socklen_t *__restrict) &client_len);      read(client_sockfd, &ch, 1);                                                              // 讀取客戶訊息      ch++;      write(client_sockfd, &ch, 1);                                                             // 向客戶傳送訊息      close(client_sockfd);                                                                     // 關閉串連   }}


用戶端:

#include <sys/types.h>#include <sys/socket.h>                                                                         // 包含通訊端函數庫#include <stdio.h>#include <netinet/in.h>                                                                         // 包含AF_INET相關結構#include <arpa/inet.h>                                                                          // 包含AF_INET相關操作的函數#include <unistd.h>int main() {   int sockfd;                                                                                          // 用於儲存客戶通訊端標識符   int len;                                                                                                     // 用於客戶訊息長度   struct sockaddr_in address;                                                                  // 定義客戶通訊端地址   int result;   char ch = 'A';                                                                                       // 定義要傳送的訊息   sockfd = socket(AF_INET,SOCK_STREAM, 0);                                     // 定義通訊端類型   address.sin_family = AF_INET;                                                                // 定義通訊端地址中的域   address.sin_addr.s_addr = inet_addr("127.0.0.1");                            // 定義通訊端地址   address.sin_port = 9734;                                                                     // 定義通訊端連接埠   len = sizeof(address);   result = connect(sockfd, (struct sockaddr *) &address, len);                 // 請求串連   if (result == -1) {      perror("串連失敗");      return 1;   }   write(sockfd, &ch, 1);                                                                               // 向伺服器傳送訊息   read(sockfd, &ch, 1);                                                                                // 從伺服器接收訊息   printf("來自伺服器的訊息是%c\n", ch);   close(sockfd);                                                                                       // 關閉串連   return 0;}



C語言實現scoket通訊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.