socket 網路程式設計

2021-08-09 17:42:13 字數 1963 閱讀 9503

/* file name: client.c */  

#include#include#include#include#include#include#include#define maxline 4096

int main(int argc, char** argv)

while(1)

//初始化

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

servaddr.sin_family = af_inet;

servaddr.sin_port = htons(8000);

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

//連線失敗

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

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

fgets(sendline, 4096, stdin);

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

if((rec_len = recv(sockfd, buf, maxline,0)) == -1)

buf[rec_len] = '\0';

printf("received : %s ",buf);

} close(sockfd);

exit(0);

} /* file name: server.c */  

#include#include#include#include#include#include#include#define default_port 8000  

#define maxline 4096  

int main(int argc, char** argv)  

//初始化  

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

servaddr.sin_family = af_inet;  

servaddr.sin_addr.s_addr = htonl(inaddr_any);//ip位址設定成inaddr_any,讓系統自動獲取本機的ip位址。  

servaddr.sin_port = htons(default_port);//設定的埠為default_port  

//將本地位址繫結到所建立的套接字上  

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

//開始監聽是否有客戶端連線  

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

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

while(1)  

//接受客戶端傳過來的資料  

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

buff[n] = '\0';  

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

//向客戶端傳送回應資料

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

fgets(sendline, 4096, stdin);

if(send(connect_fd, sendline, 26,0) == -1)  

perror("send error");                   

close(connect_fd);  

}  close(socket_fd);  

}

網路程式設計 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...