注意:
需要聯網
需要修改ip位址為自己的ip位址。
ifconfig檢視自己的ip位址
#include
#include
#include
#include
#include
#include
#include
#include
#define buf_size (4096)
void
*server
(void
* arg)
printf
("read:[%s],size:%d\n"
,buf,recv_size)
;strcat
(buf,
":return");
// 傳送資料
int send_size =
write
(cli_fd,buf,
strlen
(buf)+1
);if(
0>= send_size)}}
intmain()
// 準備通訊位址(自己)
struct sockaddr_in addr =
; addr.sin_family = af_inet;
addr.sin_port =
htons
(6789);
addr.sin_addr.s_addr =
inet_addr
("192.168.43.92");
socklen_t addrlen =
sizeof
(addr)
;// 繫結socket物件與位址if(
bind
(svr_fd,
(struct sockaddr*
)&addr,addrlen)
)// 設定監聽和排除數量if(
listen
(svr_fd,10)
)for(;
;)// 建立執行緒服務客戶端
pthread_t tid;
pthread_create
(&tid,
null
,server,
&cli_fd);}
}
#include
#include
#include
#include
#include
#include
#include
#define buf_size (4096)
intmain()
// 準備通訊位址(服務端)
struct sockaddr_in addr =
; addr.sin_family = af_inet;
addr.sin_port =
htons
(6789);
addr.sin_addr.s_addr =
inet_addr
("192.168.43.92");
// 連線服務端if(
connect
(cli_fd,
(struct sockaddr*
)&addr,
sizeof
(addr)))
char buf[
4096];
for(;;
)int recv_size =
read
(cli_fd,buf,buf_size);if
(0>= recv_size)
printf
("read:[%s],size:%d\n"
,buf,recv_size);}
}
epoll回聲伺服器
epoll是在linux系統中,一種高效率的i o復用技術.在linux的網路程式設計中,很長的時間都在使用select來做事件觸發。在linux新的核心中,有了一種替換它的機制,就是epoll。相比於select,epoll最大的好處在於它不會隨著監聽fd數目的增長而降低效率。因為在核心中的sel...
C 回聲伺服器 1 簡單版本
c 網路程式設計離不開socket程式設計。我們現在使用socket編寫簡單的回聲伺服器。這裡所說的流程包括兩部分 socket函式呼叫流程。伺服器與客戶端互動流程。回聲伺服器主要功能 伺服器將接收到來自客戶端的資料傳回客戶端。伺服器的功能 客戶端的功能 include include includ...
C 回聲伺服器 1 簡單版本
c 網路程式設計離不開socket程式設計。我們現在使用socket編寫簡單的回聲伺服器。這裡所說的流程包括兩部分 socket函式呼叫流程。伺服器與客戶端互動流程。回聲伺服器主要功能 伺服器將接收到來自客戶端的資料傳回客戶端。伺服器的功能 客戶端的功能 include include includ...