1、服務端
#include "includes.h"
#include #include #include #define server_port 8888 //監聽的埠號
#define max_buffer_len (256) //最大的buffer長度
void process_conn_server(int sock)
; int iret = 0;
printf("%s enter\n", __func__);
iret = read(sock, buf, sizeof(buf));
if (0 > iret)
printf("read buf from client.\r\n");
//讀取到的資訊寫到標準輸出
write(1, buf, sizeof(buf));
printf("%s exit\n", __func__);
return ;
}int startserver()
//2、設定伺服器的位址
bzero(&server_addr, sizeof(struct sockaddr_in));
server_addr.sin_family = af_inet;
server_addr.sin_addr.s_addr = htonl(inaddr_any);
server_addr.sin_port = server_port;
//3、繫結位址到套接字描述符
iret = bind(sock_server, (const struct sockaddr *)&server_addr, sizeof(struct sockaddr));
if( 0 > iret)
//4、設定監聽佇列
iret = listen(sock_server, 5);
if(0 > iret)
//5、主迴圈處理客戶端請求
while(1)
// 6、建立乙個新的程序處理client資料
printf("recive the client data.\n");
pid = fork();
if (0 > pid)
else if(0 == pid)//子程序
else // 父程序
}return iret;
}int main(int argc, char const *argv)
2、客戶端
#include "includes.h"
#include #include #include #define server_port 8888 //監聽的埠號
#define max_buffer_len (256)
void process_conn_client(int sock)
; while(1)
}}void startclient()
//2、設定客戶端位址
bzero(&server_addr, sizeof(struct sockaddr_in));
server_addr.sin_family = af_inet;
server_addr.sin_addr.s_addr = htonl(inaddr_any);
server_addr.sin_port = server_port;
inet_pton(af_inet, "127.0.0.1", &server_addr.sin_addr);
//3、連線伺服器
connect(sock_client, (const struct sockaddr *)&server_addr, sizeof(struct sockaddr));
//4、客戶端與伺服器進行通訊
process_conn_client(sock_client);
//5、關閉連線
close(sock_client);
printf("%s exit\n", __func__);
return;
}int main(int argc, char const *argv)
python soket程式設計之乙個ssh程式
1 在寫這個程式之前我們先來了解一下socket的工作過程 如下圖所示 一 服務端繫結乙個埠號 並處於監聽狀態。用accept 接收發來的資料請求 二 客戶端通過位址和埠號連線服務端,並傳送資料請求。三 服務端收到後,處理請求,併發請求發給客戶端。如何客戶端還在連線請求,那麼就迴圈操作。四 客戶端處...
網路程式設計之乙個bug找一天系列
你真的清楚et模式和lt模式的區別碼?關鍵你真的會用碼?lt模式 效率低於et模式,但lt模式對 要求低,不容易出現問題 et模式 效率非常高,非常適合大併發 大流量下。但需要細緻處理每乙個請求,否則容易發生事件丟失。實際應用的差別 lt模式,如果accept呼叫有返回就可以馬上建立這個連線了,然後...
unix網路程式設計之一TCP UDP
網路通訊中最常用的就是tcp udp。2種協議個有一些特點如下 udp是一種簡單的傳輸協議。應用程式寫資料到udp套介面。然後由它封裝成ipv4或ipv6的資料報,再傳送到目的位址。它不提供可靠性。它與伺服器不存在長期的連線關係。tcp是一種面向連線的協議。提供 可靠性 先連線,再傳輸資料。傳送資料...