码迷,mamicode.com
首页 > Web开发 > 详细

Network client/server (二)

时间:2016-03-04 07:07:34      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

接上篇 Network client/server (一)

 

server.c

1  header files

技术分享
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
header

 

2  socket

技术分享
int main()
{
  int server_sockfd, client_sockfd;
  int server_len, client_len;

  struct  sockaddr_in  server_address;
  struct  sockaddr_in  client_address;
  unlink("server_socket");
  
  server_sockfd = socket(AF_INET, SOCK_STREAM, 0);
  server_address.sin_family = AF_INET;
  server_address.sin_addr.s_addr = htonl(INADDR_ANY);
  server_address.sin_port = htons(9734);
  server_len = sizeof(server_address);
socket

 

3  bind, listen

技术分享
bind(server_sockfd, (struct sockaddr*)&server_address, server_len);
listen(server_sockfd, 5);
bind, listen

 

4  while loop: accept - read/write - close

技术分享
  while(1)
  {
    char ch;
    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);
  } 
}
while loop

 

小结:

client: socket -- connect --r/w -- close

server: socket -- bind -- listen -- accept -- r/w -- close

                                                       while(1)

 

Network client/server (二)

标签:

原文地址:http://www.cnblogs.com/xinxue/p/5240764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!