Network client/server

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Network client/server 相关的知识,希望对你有一定的参考价值。

接上篇 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 的主要内容,如果未能解决你的问题,请参考以下文章

Docker初探

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

Linux下 client server 连不上

计算机网络原理

open62541 windows VS client/server 实例

open62541 windows VS client/server 实例