Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306596
  • 博文数量: 111
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 672
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-05 23:41
文章分类

全部博文(111)

文章存档

2017年(111)

我的朋友

分类: LINUX

2017-07-18 15:16:41

服务端:


#include
#include
#include
#include
#include
#include
#include
#include
#include


#define MAXLINE 1024


int main(int argc,char **argv)
{
int listenfd,connfd;
struct sockaddr_in sockaddr;
char buff[MAXLINE];
int n;


memset(&sockaddr,0,sizeof(sockaddr));


sockaddr.sin_family = AF_INET;
sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
sockaddr.sin_port = htons(10004);


listenfd = socket(AF_INET,SOCK_STREAM,0);


bind(listenfd,(struct sockaddr *) &sockaddr,sizeof(sockaddr));


listen(listenfd,1024);




printf("Please wait for the client information\n");


for(;;){
if((connfd = accept(listenfd,(struct sockaddr*)NULL,NULL))==-1)
{
printf("accpet socket error: %s errno :%d\n",strerror(errno),errno);
continue;
}


n = recv(connfd,buff,MAXLINE,0);
buff[n] = '\0';
printf("recv msg from client:%s",buff);
close(connfd);
}
close(listenfd);
}




客户端:
#include
#include
#include
#include
#include
#include
#include
#include
#include
 
#define MAXLINE 1024


int main(int argc,char **argv)
{
char *servInetAddr = "127.0.0.1";
int socketfd;
struct sockaddr_in sockaddr;
char recvline[MAXLINE], sendline[MAXLINE];
int n;


if(argc != 2){
printf("client \n");
exit(0);
}


socketfd = socket(AF_INET,SOCK_STREAM,0);
memset(&sockaddr,0,sizeof(sockaddr));
sockaddr.sin_family = AF_INET;
sockaddr.sin_port = htons(10004);
inet_pton(AF_INET,servInetAddr,&sockaddr.sin_addr);
if((connect(socketfd,(struct sockaddr*)&sockaddr,sizeof(sockaddr))) < 0 ){
printf("connect error %s errno: %d\n",strerror(errno),errno);
exit(0);
}


printf("send message to server\n");


fgets(sendline,1024,stdin);


if((send(socketfd,sendline,strlen(sendline),0)) < 0){
printf("send mes error: %s errno : %d",strerror(errno),errno);
exit(0);
}
 
close(socketfd);
printf("exit\n");
exit(0);
}


运行结果:
服务端
./s
Please wait for the client information

客户端
./c 192.168.240.128
send message to server
ddddds
exit

服务端
./s
Please wait for the client information
recv msg from client:ddddds



阅读(1760) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~