1)呼叫socket函式建立套接字檔案
2)呼叫bind函式繫結ip和埠
3)呼叫listen函式將套接字檔案轉為被動描述符
4)呼叫accept函式監聽客戶連線
5)呼叫send函式傳送資料
6)呼叫recv函式接收資料
7)呼叫shutdown函式結束連線
示例:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define sip "192.168.239.128"
//存放伺服器固定ip的巨集
#define sprot 5006
//存放伺服器程序固定埠的巨集
/*封裝應用層資料,目前要傳送的資料為學生資訊*/
typedef
struct data
data;
void
print_err
(char
* str,
int line,
int err_no)
//報錯函式
int cfd =-1
;/*通訊套接字檔案*/
void
signal_fun
(int signo)
}/*次執行緒用於接收客戶端資料 */
void
*pth_fun
(void
* pth_arg)
;int ret =-1
;while(1
)}}int
main()
;int clnaddr_size =
sizeof
(clnaddr)
; cfd =
accept
(sockfd,
(struct sockaddr *
)&clnaddr,
&clnaddr_size);if
(cfd ==-1
)print_err
("accept error"
,__line__
,errno)
;/*列印客戶端的ip和埠號 注意要進行端序轉換 */
printf
("clint_port = %d\n clint_ip = %s\n"
,ntohs
(clnaddr.sin_port)
,inet_ntoa
(clnaddr.sin_addr));
/*建立乙個次執行緒,用於接收客戶端的資訊*/
pthread_t tid;
ret =
pthread_create
(&tid,
null
,pth_fun,
null);
if(ret !=0)
print_err
("pth_create fail"
,__line__
,ret)
;/*伺服器迴圈傳送資料 */
data stu_data =
;int tmp;
while(1
)return0;
}
tcp網路程式設計基礎
1.tcp客戶端 from socket import 建立socket tcp client socket socket af inet,sock stream 目的資訊 server ip input 請輸入伺服器ip server port int input 請輸入伺服器port 鏈結伺服器...
TCP網路程式設計基礎
1 套接字結構 struct sockaddr 上述結構中協議族成員變數sa family的型別是sa family t,其實這個型別是unsigned short型別,因此成員變數sa family的長度為16位。typedef unsigned short sa family t 通用套接字結構...
Linux 網路程式設計 TCP
一 tcp通訊步驟 tcp伺服器部分 1 呼叫函式socket 建立乙個socket 2 設定sockaddr in資訊,如要連線伺服器的ip和埠等屬性 3 呼叫函式bind 繫結ip位址 埠等資訊到socket上 4 呼叫函式listen 設定允許的最大連線數 5 呼叫函式accept 等待來自客...