tcp通訊流程
server.h
#include #include #include #include #include #include #include #define max_line 100
/* 用於將大寫字元轉換為小寫字元。引數為需要轉換的字串 */
void my_fun(char * p)
int main(void)
if(close(l_fd) == -1)
return 0;
}
client.c
#include #include #include #include #include #include #include #define max_line 100
int main(int argc, char *ar**)
bzero(&sin, sizeof(sin));
sin.sin_family = af_inet; /* 使用ipv4位址族 */
/* 和本機通訊,同一臺主機擔任伺服器和客戶端的角色 */
inet_pton(af_inet, "127.0.0.1", &sin.sin_addr);
sin.sin_port = htons(port); /* 埠號使用8000,必須和伺服器端的一致才行 */
sfd = socket(af_inet, sock_stream, 0); /* 建立套接字 */
connect(sfd, (const struct sockaddr *)&sin, sizeof(sin));
/* 主動連線伺服器 */
write(sfd, str, strlen(str) + 1); /* 傳送字串,該串包含『\0』結束符 */
/* 讀取伺服器程式發回的串,由於是同一臺主機通訊,不存在延時的問題。
* 但是在真正的網路環境中,要處理讀操作的延時問題。
*/ read(sfd, buf, max_line);
printf("recive from server: %s\n", buf); /* 列印該串 */
close(sfd); /* 關閉套接字,結束通訊 */
return 0;
}
makefile
all:server client
server:server.c
gcc server.c -o server
client:client.c
gcc client.c -o client
clean:
rm *.o server client
.phony:clean
測試
關於程式中用到的函式可直接在終端中使用命令:man 函式名
比如查詢socket函式用法資訊:man socket
linux TCP程式設計示例
linux tcp程式設計 主要是這幾個函式 socket send recv write read close 伺服器端專用 bind listen accept 客戶端專用 connect tcp客服端 tcp client.c tcp相關標頭檔案 include include include...
Socket通訊示例
一 最簡例程實現socket網路傳輸 伺服器端 比客戶端先執行 vi socket server.c 1 include 2 include 3 include 4 include 5 include 6 include 7 include 8 include 9 include 10 includ...
NIO通訊示例
讀者可以將 拷貝到編譯器上跑一跑,如果看了注釋還有不懂的地方,可以參考 nio基礎 一 之buffer nio基礎 二 之channel nio基礎 三 之selector 第三篇尤為重要對看懂大體框架有很大意義。public class const 類說明 nio通訊客戶端 public clas...