C 中Socket網路程式設計例項詳解

2022-09-27 20:51:21 字數 1983 閱讀 7431

c++中socket網路程式設計例項詳解

現在幾乎所有c/c++的後台程式都需要進行網路通訊,其實現方法無非有兩種:使用系統底層socket或者使用已有的封裝好的網路庫。本文對兩種方式進行總結,並介紹乙個輕量級的網路通訊庫zeromq。

1.基本的scoket程式設計

關於基本的scoket程式設計網路上已有很多資料,作者在這裡引用一篇文章中的內容進行簡要說明。

基於socket程式設計,基本上就是以下6個步驟:

1、socket()函式

2、bind()函式

3、listen()、connect()函式

4、accept()函式

5、read()、write()函式等

6、close()函式

下面直接引用文章裡的**說明。

//伺服器端

#include

#include

#include

#include

#include

#include

#include

#define maxline 4096

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

memset(&servaddr, 0, sizeof(servaddr));

servaddr.sin_family = af_inet;

servaddr.sin_addr.s_addr = htonl(inaddr_awww.cppcns.comny);

servaddr.sin_port = htons(6666);

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

if( listen(listenfd, 10) == -1)

printf("*****=waiting for client's request*****=\n");

while(1)

n = recv(connfd, buff, maxline, 0);

buff[n] = '\0';

printf("recv msg from client: %s\n", buff);

close(connfd)程式設計客棧;

} close(listenfd);

}客戶端

#include

#include

#include

#include

#include

#include

#include

#define maxline 4096

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

if( (sockfd = socket(af_inet, sock_stream, 0)) < 0)

memset(&servaddr, 0, sizeof(servaddr));

ser程式設計客棧vaddr.sin_family = af_inet;

servaddr.sin_port = htons(6666);

if( inet_pton(af_inet, ar**[1], &servaddr.sin_addr) <= 0)

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

printf("send msg to server: \n");

fgets(sendline, 4096, stdin);

if( send(sockfd, sendline, strlen(sendline), 0) < 0)

close(sockfd);

exit(0);

}本文標題: c++中socket網路程式設計例項詳解

本文位址:

Socket網路程式設計例項1

socket 對所有上層協議 tcp ip,udp等 的底層封裝。網路上的兩個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端稱為乙個socket。建立網路通訊連線至少要一對埠號 socket 協議型別又叫位址簇 socket例項,分別寫在兩個.py裡面,客戶端發出去的內容是小寫的,接收到的...

網路程式設計C 篇(二) Socket簡單例項

原始出處 作者資訊和本宣告。否則將追究法律責任。基於windows套接字socket,簡單的tcp伺服器和客戶機,例項 簡單的tcp伺服器 在伺服器能夠向客戶機連線傳輸資料之前,必須做以下幾件事情 1 建立乙個套接字 2 將所建立的套接字與本地的ipendpoint繫結 3 設定套接字為收聽模式 4...

C 中Socket多執行緒程式設計例項

要通過網際網路進行通訊,你至少需要一對套接字,其中乙個執行於客戶機端,我們稱之為clientsocket,另乙個執行於伺服器端,我們稱之為serversocket。根據連線啟動的方式以及本地套接字要連線的目標,套接字之間的連線過程可以分為三個步驟 伺服器監聽,客戶端請求,連線確認。所謂伺服器監聽,是...