Centos 64下實現socket通信
來源:程序員人生 發布時間:2015-04-21 09:09:11 閱讀次數:4178次
源碼:
/* 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] = '
主站蜘蛛池模板:
国产久7精品视频
|
亚洲最色网站
|
日本高清无卡码一区二区久久
|
久久不卡|
亚洲欧洲无码一区二区三区
|
亚洲精品成人在线
|
久久久久久久久久久9精品视频
|
免费播放成人生活片
|
亚洲欧美一区二区三区久久
|
精品一区二区三区四区五区
|
亚洲制服另类
|
精品久久久久久中文字幕专区
|
日本在线看免费
|
亚洲精品综合一二三区在线
|
亚洲精品第五页
|
精品日韩欧美一区二区三区在线播放
|
奇奇午夜理伦三级
|
欧美成人性色生活18黑人
|
天天夜夜狠狠
|
91精品国产亚洲爽啪在线影院
|
色吊丝二区三区中文字幕
|
国产精品夜色视频一级区
|
亚洲毛片在线观看
|
91真人毛片一级在线播放
|
亚洲在线免费免费观看视频
|
精品视频一区二区三区
|
看性过程三级视频在线观看
|
自拍自偷
|
欧美一级二级毛片视频
|
亚洲国产精品久久久久久
|
淫片免费
|
色综合久久综合欧美综合图片
|
欧美另类xxxxhd高清
|
一区二区三区四区在线视频
|
热久久国产欧美一区二区精品
|
亚洲人成网站在线播放942一
|
日韩理伦片秋霞理伦
|
国产精品国产午夜免费福利看
|
性欧美最新另类
|
亚洲欧美日本欧美在线播放污
|
国产亚洲欧美成人久久片
|