linux 网络编程简单实例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shanshanpt/article/details/7372649
当然此处仅仅是对于单用户请求的处理,对于多用户的请求后面再说!

对于server处理:
            server要做的就是创建自己的套接字,然后设置一些参数:例如协议类型,IP之类。
            然后就是bind参数,再次就是监听( listen),最后就是accept进入睡眠等待状态,if
            有cilent的请求就会有反应!
      
对于chient的处理:
            建立自己的套接字,然后就是连接到server,发送自己的数据,然后等待server的回送!


server.cpp

#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<string.h>
#include<sys/types.h>
#include<sys/wait.h>
 

#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
 
#include <iostream>
using namespace std;
 
#define PORT6000                  //!> 端口
#define MAX_REQ5               //!> 监听情况下:在请求队列中允许的最大请求数
 
int main()
{
    intlisten_socket,client_socket;         //!> 监听,客户套接字
    structsockaddr_inlocal_addr;         //!> server结构
    structsockaddr_inclient_addr;      //!> client结构
    intrecv_len;
    

 
    charbuf[1024];
    charrecv_buf[1024];
 
   //!>    intsocket(int domain, int type, int protocol);参数:协议族;套接字类型;协议,一般为0->TCP/IP
 
   //!> 创建套接字
   //!>
   if((listen_socket = socket(AF_INET,SOCK_STREAM, 0)) ==-1)         //!> 创建套接字
    {
       cout << "创建server套接字失败~"<< endl;
       exit(1);
    }
 
   //!> 下面设置本地的套接字的参数结构
   //!> 
   local_addr.sin_family =AF_INET;                              //!> 代表TCP/IP
   local_addr.sin_port =htons(PORT);                           //!> 端口号( 转化成流格式 )
                                                     

没有更多推荐了,返回首页