Linux網路程式設計 tcpClient

2021-10-03 07:35:43 字數 2690 閱讀 5526

☞ 注意:當前客戶端邏輯配合此處server使用 [  ]

connect()方法與伺服器端的bind()方法格式相似,但是connect()的第二個引數存放的是目標主機(伺服器)的sockaddr資訊;

1> 函式原型

#include #inlcude /* 成功返回0,失敗返回-1 */

int connect(int sockfd,struct sockaddr*,int addr_len);

#include #include #include #include #include #include #include #include #include #define port 8888

#define ip "127.0.0.1"

void siginttips(int);

int main()

struct sockaddr_in serveraddr;

serveraddr.sin_family = af_inet;

serveraddr.sin_port = htons(port);

serveraddr.sin_addr.s_addr = inet_addr(ip);

len = sizeof(serveraddr);

if(connect(sc,(struct sockaddr*)&serveraddr,len)==-1)

while(1)

memset(buff,0,sizeof(buff));

read(sc,buff,sizeof(buff)-1);

printf("%s\n",buff);

} close(sc);

return 0;

}void siginttips(int sign)

#include #include #include #include #include #include #include #include #include #define port 8888

#define ip "127.0.0.1"

void siginttips(int);

int main()

struct sockaddr_in serveraddr;

serveraddr.sin_family = af_inet;

serveraddr.sin_port = htons(port);

serveraddr.sin_addr.s_addr = inet_addr(ip);

len = sizeof(serveraddr);

if(connect(sc,(struct sockaddr*)&serveraddr,len)==-1)

pid = fork();

if(pid==0)

}}else if(pid>0)

printf("%s\n",buff);}}

return 0;}

void siginttips(int sign)

#include #include #include #include #include #include #include #include #include #define port 8888

#define ip "127.0.0.1"

void siginttips(int);

void * my_write_thread(void* arg);

void * my_read_thread(void* arg);

int main()

struct sockaddr_in serveraddr;

serveraddr.sin_family = af_inet;

serveraddr.sin_port = htons(port);

serveraddr.sin_addr.s_addr = inet_addr(ip);

len = sizeof(serveraddr);

if(connect(sc,(struct sockaddr*)&serveraddr,len)==-1)

pthread_create(&tid1,0,my_write_thread,(void*)&sc);

pthread_create(&tid2,0,my_read_thread,(void*)&sc);

pthread_join(tid1,&t_exit_res);

pthread_join(tid2,&t_exit_res);

close(sc);

return 0;

}void * my_write_thread(void* arg) }}

void * my_read_thread(void* arg)

printf("%s\n",buff); }}

void siginttips(int sign)

Linux網路程式設計

linux網路程式設計 當然,我們現在,將要開始編寫的第乙個網路程式,雖然非常簡單,但是卻可以很 清楚的說明大部分編寫網路程式需要的基本概念,好了先讓我們看看網路程式的tcp服 務器端的編寫步驟 1.和伺服器的步驟一樣。2.通過設定套介面位址結構,我們說明,客戶端要與之通訊的伺服器的ip位址和 埠。...

linux 網路程式設計

當然,我們現在,將要開始編寫的第乙個網路程式,雖然非常簡單,但是卻可以很 清楚的說明大部分編寫網路程式需要的基本概念,好了先讓我們看看網路程式的tcp服 務器端的編寫步驟 現在讓我們來看看網路程式客戶端的程式設計步驟 以上的步驟,是比較普遍的,我們可以從中看出,編寫網路程式是很有意思的,同 時,也不...

linux 網路程式設計

套接字程式設計 struct sockaddr unsigned short sa family 位址協議,ipv4 tcp ip af inet,ipv6 af inet6 char sa data 14 14位元組的位址協議 struct sockaddr in unsigned short s...