Centos 64下實現socket通信
來源:程序員人生 發布時間:2015-04-21 09:09:11 閱讀次數:4180次
源碼:
/* File Name: server.c */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h> //Ineternet address family
#include<arpa/inet.h>
#define DEFAULT_PORT 8000
#define MAXLINE 4096
int main(int argc, char** argv)
{
int socket_fd, connect_fd;
struct sockaddr_in servaddr;
char buff[4096];
int n;
//初始化Socket
if( (socket_fd = socket(AF_INET, SOCK_STREAM, 0)) == ⑴ ){
printf("create socket error: %s(errno: %d)
",strerror(errno),errno);
exit(0);
}
//初始化
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);//IP地址設置成INADDR_ANY,讓系統自動獲得本機的IP地址。
servaddr.sin_port = htons(DEFAULT_PORT);//設置的端口為DEFAULT_PORT
//將本地地址綁定到所創建的套接字上
if( bind(socket_fd, (struct sockaddr*)&servaddr, sizeof(servaddr)) == ⑴){
printf("bind socket error: %s(errno: %d)
",strerror(errno),errno);
exit(0);
}
//開始監聽是不是有客戶端連接
if( listen(socket_fd, 10) == ⑴){
printf("listen socket error: %s(errno: %d)
",strerror(errno),errno);
exit(0);
}
printf("======waiting for client's request======
");
while(1){
struct sockaddr_in cilent_addr; //客戶端socket地址結構
socklen_t length = sizeof(cilent_addr);
//阻塞直到有客戶端連接,不然多浪費CPU資源。
if( (connect_fd = accept(socket_fd, (struct sockaddr*)&cilent_addr, &length)) == ⑴){
//客戶真個socket地址結構會填寫到cilent_addr結構體中
printf("accept socket error: %s(errno: %d)",strerror(errno),errno);
continue;
}
//接受客戶端傳過來的數據
n = recv(connect_fd, buff, MAXLINE, 0);
if( n < 0 )
{
printf("Server Receive Data Faild!
");
break;
}
//向客戶端發送回應數據
if(!fork()){ /*子進程*/
if(send(connect_fd, "Hello,you are connected!
", 26,0) == ⑴)
perror("send error");
close(connect_fd);
exit(0);
}
buff[n] = '
主站蜘蛛池模板:
久久国产精品免费一区二区三区
|
午夜性视频
|
国产亚洲精品久久
|
久亚洲
|
亚洲一区二区成人
|
国产精品99久久久久久www
|
亚洲一级在线
|
91久久精品视频
|
欧美人交a欧美精品
|
欧美大片免费观看网址
|
欧美一区二区三区视频
|
日韩免费小视频
|
欧美a黄
|
99只有精品
|
欧美精品一区二区三区四区
|
爱爱小视频网站
|
99热在线播放|
黄色小视频免费网站
|
成人国产一区
|
黄色动漫免费在线观看
|
欧美人与性动交α欧美精品济南到
|
国产天堂
|
日韩av电影网
|
一区二区国产精品
|
在线免费观看成人
|
麻豆久久精品
|
黄色中文字幕
|
一级性毛片|
99在线视频观看
|
国产一区二区三区久久
|
欧美黄色网络
|
91成人网在线播放
|
午夜激情视频在线
|
另类激情亚洲
|
亚洲国产一区二区三区
|
成年人在线免费观看
|
亚洲天堂精品视频
|
国产成人一区二区
|
国产精品免费视频观看
|
99激情网|
久久久久久亚洲
|