服務端多執行緒版本**:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define server_port 9002
// 判斷是否被占用 netstat -an | grep 9001
#define length_of_listen_queue 10
// 監聽客戶端鏈結數量
void
handle_client_connect
(void
*new_server_socket)
;int
main()
close
(server_socket)
;return0;
}void
handle_client_connect
(void
*new_server_socket)
printf
("recv from client:[%s]\n"
,recvbuf);}
close
(cli_socket)
;pthread_exit
(null
);
服務端**:
#include
#include
// socket()
#include
// socket() bind() listen() accept() recv()
#include
// htons() htonl()
#include
// strerror()
#include
// errno
#include
// close()
#include
// exit()
#define server_port 9001
// 檢測是否被占用 netstat -an | grep 9001
#define max_connect_num 10
// 最大連線數
#define recv_length 1024
// recv 接收的位元組數
intmain()
// listen()
ret =
listen
(server_socket, max_connect_num);if
(-1== ret)
// accept()
char recvbuf[recv_length]
;memset
(recvbuf,
0x00
,sizeof
(recvbuf));
while(1
)printf
("client connnect success...\n");
int length =
recv
(new_server_socket, recvbuf, recv_length,0)
; recvbuf[length]
='\0'
;printf
("client:[%s]\n"
, recvbuf)
;close
(new_server_socket);}
// close()
close
(server_socket)
;return0;
}
客戶端**:
#include
#include
// socket()
#include
// socket() connect() send() close()
#include
// inet_pton()
#include
// strerror
#include
// errno
#include
// exit()
#define server_port 9001
// 服務端埠號
intmain()
ret =
connect
(client_socket,
(struct sockaddr *
)&client_in,
sizeof
(client_in));
if(ret <0)
// send()
char sendbuf[
1024];
memset
(sendbuf,
0x00
,sizeof
(sendbuf));
printf
("client input:\n");
gets
(sendbuf)
;int in_length =
strlen
(sendbuf)
; sendbuf[in_length]
='\0'
; ret =
send
(client_socket, sendbuf,
1024,0
);if(ret <0)
// close()
close
(client_socket)
;return0;
}
makefile:
cc=cc
all:server client
cleanlist=server client *.o
server:server.o
[email protected] -o $@
client:client.o
[email protected] -o $@
clean:
rm -f $
php簡單實現socket通訊
socket通訊的原理在這裡就不說了,它的用途還是比較廣泛的,我們可以使用 socket 來做乙個 api介面出來,也可以使用 socket 來實現兩個程式之間的通訊,我們來研究一下在 php開發 中如何實現socket通訊。由於socket服務端的 要監聽埠,等待接收請求,所以 php在做 soc...
epoll實現簡單socket通訊
epoll是常用的socket通訊方式,相比於select和poll來說,效率提公升了不止一點半點 其一 select中socket描述符 檔案描述符 集的資料結構為陣列,poll的檔案描述符集資料結構為鍊錶,無論陣列還是鍊錶,它們都是線性結構,當遍歷時,也只能線性遍歷 而epoll檔案描述符集採用...
Socket實現簡單的聊天通訊
最近學習了socket後,感覺socket挺好玩的,在部落格中看到socket在實時聊天功能的很強大,於是乎就做了乙個簡單的聊天功能,今天貼出來,能夠與大家一起共享,有不對之處,能夠給予指出,謝謝!伺服器中的 using system using system.collections.generic...