Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1694346
  • 博文数量: 362
  • 博客积分: 10587
  • 博客等级: 上将
  • 技术积分: 4098
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-10 18:15
文章分类

全部博文(362)

文章存档

2014年(1)

2013年(58)

2011年(115)

2010年(112)

2009年(76)

分类: C/C++

2010-03-02 15:54:48

/××××××××××××× server.c ×××××××××××××/
#include
#include
#include
#include
#include
int main()
{
 int server_sockfd,client_sockfd;
 int server_len,client_len;
 struct sockaddr_un server_address;
 struct sockaddr_un client_address;
 
 unlink(server_sockfd);
 server_sockfd = socket(AF_UNIX,SOCK_STREAM,0);
 server_address.sun_family = AF_UNIX;
 strcpy(server_address.sun_path,"server_socket");
 server_len = sizeof(server_address);
 bind(server_sockfd,(struct sockaddr *)&server_address,server_len);
 
 listen(server_sockfd,5);
 while(1)
 {
  char ch[256];
  printf("server waiting\n");
  client_len  = sizeof(client_address);
  client_sockfd = accept(server_sockfd,(struct sockaddr *)&client_address,&client_len);
 
  read(client_sockfd,&ch,1);
//  ch++;
  write(client_sockfd,&ch,1);
  close(client_sockfd);
 }
}
 
 
 
 
 
/××××××××××××× client.c ×××××××××××××/
#include
#include
#include
#include
#include
int main()
{
 int sockfd;
 int len;
 struct sockaddr_un address;
 int result;
// char *buf="Hello World";
 char ch[256] = "Hello World!";
 
 sockfd = socket(AF_UNIX,SOCK_STREAM,0);
 address.sun_family = AF_UNIX;
 strcpy(address.sun_path,"server_socket");
 len = sizeof(address);
 
 result = connect(sockfd,(struct sockaddr *)&address,len);
 
 if(result == -1)
 {
  perror("oops: client1");
  exit(1);
 }
 
 write(sockfd,&ch,1);
 read(sockfd,&ch,1);
 printf("char from server = %s\n",ch);
 close(sockfd);
 return 0;
}
 
 
#gcc -Wall server.c -o server
#gcc -Wall client.c -o client
#./server
server waiting
 
 
#./client
char from server = Hello World!
阅读(1146) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~