1.標頭檔案
#include
#include
#include
#include
#include
2.接受傳送流程
服務端
#include #include #include #include #include #include int main()
;printf("hello,welcome to my server !\r\n");
/* 建立tcp 連線的套接字*/
sfp = socket(af_inet, sock_stream, 0);
if(-1 == sfp)
printf("socket ok !\r\n");
/* 變數s_add 清零*/
bzero(&s_add,sizeof(struct sockaddr_in));
s_add.sin_family=af_inet;
s_add.sin_addr.s_addr=htonl(inaddr_any);
s_add.sin_port=htons(portnum);
/* 繫結s_add 到套接字sfp 上*/
if(-1 == bind(sfp,(struct sockaddr *)(&s_add), sizeof(struct sockaddr)))
printf("bind ok !\r\n");
/*監聽函式,靜聽客戶端的連線請求*/
if(-1 == listen(sfp,5))
printf("listen ok\r\n");
sin_size = sizeof(struct sockaddr_in);
/* 接受連線請求*/
nfp = accept(sfp, (struct sockaddr *)(&c_add), &sin_size);
if(-1 == nfp)
printf("accept ok!\r\nserver start get connect from %#x : %#x\r\n",
ntohl(c_add.sin_addr.s_addr), ntohs(c_add.sin_port));
while(1)
/* 關閉socket 連線*/
close(nfp);
/* 關閉socket 連線*/
close(sfp);
return 0;
}
客戶端:
#include #include #include #include #include int main(int argc, char **ar**)
;struct sockaddr_in s_add, c_add;
unsigned short portnum = 0x8888;
printf("hello,welcome to client!\r\n");
if(argc != 2)
/* 建立乙個tcp 連線的socket */
cfd = socket(af_inet, sock_stream, 0);
if(-1 == cfd)
printf("socket ok !\r\n");
/* 變數s_add 清零*/
bzero(&s_add,sizeof(struct sockaddr_in));
s_add.sin_family=af_inet;
s_add.sin_addr.s_addr= inet_addr(ar**[1]);
s_add.sin_port=htons(portnum);
printf("s_addr = %#x ,port : %#x\r\n",s_add.sin_addr.s_addr,s_add.sin_port);
/* 連線伺服器函式*/
if(-1 == connect(cfd,(struct sockaddr *)(&s_add), sizeof(struct sockaddr)))
printf("connect ok !\r\n");
while(1)
printf("read ok\r\nrec:\r\n");
buffer[recbyte]='\0';
printf("%s\r\n",buffer);
}/* 關閉套接字*/
close(cfd);
return 0;
}
Linux網路程式設計(二) 基本TCP套接字程式設計
為了執行網路io,乙個程序必須先呼叫socket函式,指定期望通訊的協議型別 1 include2 int socket int family,int type,int protocol 3 返回 成功返回非負描述符,若出錯返回 1family引數的值 af inet ipv4協議 af inet6...
TCP套接字程式設計
網路程式設計又稱為套接字程式設計,為了與遠端計算機進行資料傳輸,需要連線到網際網路,而程式設計中的 套接字 就是用來連線該網路的工具。它本身具有連線的含義,還可以表示為兩台計算機之間的網路連線。4.呼叫accept函式受理連線請求 基於tcp的服務端 客戶端 tcp伺服器端預設函式呼叫順序 sock...
TCP套接字程式設計
對於socket不理解的可以檢視 c語言通過socket程式設計實現tcp通訊,linux socket程式設計 socket詳解 先看看程式效果圖 提示如果伺服器,直接通過ctrl z關閉,這樣程式占用的位址不會釋放,需要以下操作 1.ps 檢視程序 2.kill 9 程式pid 強制殺死程序 服...