Linux網路程式設計之TCP程式設計 經典案例

2021-08-13 07:51:11 字數 2814 閱讀 9347

2_socket_server.c

/*

linux網路程式設計之tcp程式設計,伺服器端讀資料

socket函式之後,返回值serfd,作為後面所有網路程式設計函式的第乙個引數

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ser_port 8888 //埠號在5001-65535之間

#define ser_ip "192.168.7.115"

/* 1.sockfd = socket(int socket_family, int socket_type, int protocol);

2.int bind(int sockfd, const struct sockaddr *addr,

socklen_t addrlen);.

3.//通用位址結構

struct sockaddr

4.//internet協議位址結構(一般用這個)

struct sockaddr_in

;5.//ipv4位址結構

// internet address

struct in_addr

;6.//位元組序轉換函式

主機位元組序到網路位元組序

u_long htonl (u_long hostlong); 轉四個位元組的

u_short htons (u_short short); 轉兩個位元組的

網路位元組序到主機位元組序

u_long ntohl (u_long hostlong);轉四個位元組的

u_short ntohs (u_short short);轉兩個位元組的

7.//ip位址的轉換

inet_addr( )

將strptr所指的字串轉換成32位的網路位元組序二進位制值,返回轉換後的位址。

int_addr_t inet_addr(const char *strptr);

8.int listen(int sockfd, int backlog);

9.int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

*///出錯處理函式

void sys_error(char *ch)

int main(int argc,char *argv)

else

printf("buf from client:%s",buf);

}//6.關閉(2個套接字描述符)

close(serfd);

close(newfd);

return0;}

/*$ gcc 2_socket_server.c -o 2_socket_server

$ ./2_socket_server

listent ok

buf from client:ssss

buf from client:wewewe

buf from client:quit

bye-bye

*/

2_socket_client.c

/*

linux網路程式設計之tcp程式設計,客戶端寫資料

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ser_port 8888 //埠號在5001-65535之間

#define ser_ip "192.168.7.115" //寫資料物件的ip

/* 1.sockfd = socket(int socket_family, int socket_type, int protocol);

2.//通用位址結構

struct sockaddr

3.//internet協議位址結構(一般用這個)

struct sockaddr_in

;4.//ip位址的轉換

inet_addr( )

將strptr所指的字串轉換成32位的網路位元組序二進位制值,返回轉換後的位址。

int_addr_t inet_addr(const char *strptr);

5.int connect(int sockfd, const struct sockaddr *addr,

socklen_t addrlen);

6.ssize_t send(int sockfd, const void *buf, size_t len, int flags);

*/void sys_error(char *ch)

int main(int argc,char *argv)

//4.關閉

close(clifd);

return0;}

/*$ gcc 2_socket_client.c -o 2_socket_client

$ ./2_socket_client

connect ok

please input:ssss

please input:wewewe

please input:quit

*/

網路程式設計之TCP程式設計

tcp程式設計中,如果要完成通訊,通訊雙方必須要建立socket,通過socket完成通訊。tcp通訊步驟 1 伺服器啟動serversocket作為通訊的server端,等待客戶端鏈入。2 客戶端建立socket作為通訊的client端 3 client端鏈入server端後建立可靠的 雙向的 持...

網路程式設計之TCP程式設計案例

客戶端 public static void main string args fileinputstream.close outputstream.close catch unknownhostexception e catch ioexception e 伺服器 public static vo...

Visual C 網路程式設計之TCP

前一篇 visual c net網路程式開發之socket 中說到 支援http tcp和udp的類組成了tcp ip三層模型 請求響應層 應用協議層 傳輸層 的中間層 應用協議層,該層的模擬位於最底層的socket類提供了更高層次的抽象,它們封裝 tcp 和 udp 套接字的建立,不需要處理連線的...