`
sealbird
  • 浏览: 583890 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux 网络编程 <1>

阅读更多
环境
Cygwin+windows2003

说明:

服务端(Server)

#include <sys/types.h>
#include <sys/socket.h>
#include <time.h>
#include <netinet/in.h>
#include <stddef.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>

int main(int argc,char **argv ){
    int    listenfd,connectfd;
    struct sockaddr_in servaddr;
    char   buffer[4096];
    time_t ticks;
    listenfd=socket(AF_INET,SOCK_STREAM,0);
    bzero(&servaddr,sizeof(servaddr));
    servaddr.sin_family=AF_INET;
    servaddr.sin_addr.s_addr=htonl(INADDR_ANY);//转换成网络字符顺序
     servaddr.sin_port=htons(13);//转换成网络字符顺序
    bind(listenfd,(struct sockaddr *) &servaddr,sizeof(servaddr));
    listen(listenfd,1024);
    for (;;) {
connectfd=accept(listenfd,(struct  sockaddr *)NULL,NULL);
ticks=time(NULL);
        snprintf(buffer,sizeof(buffer),"-------%.24s----------",ctime(&ticks));
        write(connectfd,buffer,strlen(buffer));

        close(connectfd);

}
}


客户端(Client)
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <string.h>
void birdprint(char *value,...){
printf("\r\nvalue=%s",value);
}

int main(int argc, char **argv)
{
argv[1]="127.0.0.1";
birdprint("------开始run------");
int sockfd, n;
char recvline[4096 + 1];
struct sockaddr_in servaddr;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port   = htons(13); /* daytime server */
inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr));
while ( (n = read(sockfd, recvline, 4096)) > 0) {
recvline[n] = 0; /* null terminate */
if (fputs(recvline, stdout) == EOF){
}
}

birdprint("------结束run------");
exit(0);
}


//注意如下转换
      struct sockaddr_in servaddr;
     (struct sockaddr *) &servaddr


struct sockaddr
{
    unsigned short int sa_family;
    char sa_data[14];
};

struct socketaddr_in
{
    unsigned short int sin_family;
    uint16_t sin_port;
    struct in_addr sin_addr;
    unsigned char sin_zero[8];
};
struct in_addr
{
    uint32_t s_addr;
};

  char array4w[2][3][4][5];
                         int i,j,k,l;
                         for(i=0;i<2;i++)
                             for(j=0;j<3;j++)
                                 for(k=0;k<4;k++)
                                for(l=0;l<4;l++)
                                     array4w[i][j][k][l]=i*12+j*4+k+l;


[2][3][4][5]


   {
{
{
0_0_0_0
0_0_0_1
0_0_0_2
0_0_0_3
0_0_0_4
},
{
0_0_1_0
0_0_1_1
0_0_1_2
0_0_1_3
0_0_1_4
},
{
0_0_2_0
0_0_2_1
0_0_2_2
0_0_2_3
0_0_2_4
},
{
0_0_3_0
0_0_3_1
0_0_3_2
0_0_3_3
0_0_3_4
}
},
{
{
0_1_0_0
0_1_0_1
0_1_0_2
0_1_0_3
0_1_0_4
},
{
0_1_1_0
0_1_1_1
0_1_1_2
0_1_1_3
0_1_1_4
},
{
0_1_2_0
0_1_2_1
0_1_2_2
0_1_2_3
0_1_2_4
},
{
0_1_3_0
0_1_3_1
0_1_3_2
0_1_3_3
0_1_3_4
}
   
  },

  {
{
0_2_0_0
0_2_0_1
0_2_0_2
0_2_0_3
0_2_0_4
},
{
0_2_1_0
0_2_1_1
0_2_1_2
0_2_1_3
0_2_1_4
},
{
0_2_2_0
0_2_2_1
0_2_2_2
0_2_2_3
0_2_2_4
},
{
0_2_3_0
0_2_3_1
0_2_3_2
0_2_3_3
0_2_3_4
}
   }
},
{

   {
{
1_0_0_0
1_0_0_1
1_0_0_2
1_0_0_3
1_0_0_4
},
{
1_0_1_0
1_0_1_1
1_0_1_2
1_0_1_3
1_0_1_4
},
{
1_0_2_0
1_0_2_1
1_0_2_2
1_0_2_3
1_0_2_4
},
{
1_0_3_0
1_0_3_1
1_0_3_2
1_0_3_3
1_0_3_4
}
},
{
{
1_1_0_0
1_1_0_1
1_1_0_2
1_1_0_3
1_1_0_4
},
{
1_1_1_0
1_1_1_1
1_1_1_2
1_1_1_3
1_1_1_4
},
{
1_1_2_0
1_1_2_1
1_1_2_2
1_1_2_3
1_1_2_4
},
{
1_1_3_0
1_1_3_1
1_1_3_2
1_1_3_3
1_1_3_4
}
   },
    {
{
1_2_0_0
1_2_0_1
1_2_0_2
1_2_0_3
1_2_0_4
},
{
1_2_1_0
1_2_1_1
1_2_1_2
1_2_1_3
1_2_1_4
},
{
1_2_2_0
1_2_2_1
1_2_2_2
1_2_2_3
1_2_2_4
},
{
1_2_3_0
1_2_3_1
1_2_3_2
1_2_3_3
1_2_3_4
}
    }
}
分享到:
评论

相关推荐

    Linux内核 内容很全

    网络 92&lt;br&gt;8.1 TCP/IP网络概述 92&lt;br&gt;8.2 Linux中的TCP/IP网络层次结构 95&lt;br&gt;8.3 BSD套接字接口 96&lt;br&gt;8.4 INET的套接字层 97&lt;br&gt;8.4.1 创建BSD套接字 98&lt;br&gt;8.4.2 为INET BSD Socket绑定地址 99&lt;br&gt;8.4.3 建立...

    《嵌入式系统开发圣经(第二版)》电子版

    &lt;br&gt;目录: &lt;br&gt;第1章 嵌入式系统的介绍 1&lt;br&gt;1-1 嵌入式系统概述 2&lt;br&gt;1-1-1 嵌入式系统的组成 3&lt;br&gt;1-1-2 典型的嵌入式系统 6&lt;br&gt;1-1-3 嵌入式系统的发展趋势 7&lt;br&gt;1-2 信息家电 9&lt;br&gt;1-2-1 信息家电的兴起 10&lt;br...

    C++网络服务开发套件0.5.5

    CWSS: C++ Web Services Server&lt;br&gt;&lt;br&gt;1. 目的: &lt;br&gt;利用C++语言的高效, 稳定和灵活性,创建一个通用的通讯平台; 服务器端以插件配置方式动态加入功能组件;&lt;br&gt;客户端以XML文本描述方式, 调用服务端功能组件的函数;...

    Linux网络编程

    Linux网络编程&lt;br&gt;很,又好学基础

    C++网络服务开发套件0.5.6

    CWSS: C++ Web Services Server&lt;br&gt;&lt;br&gt;1. 目的: &lt;br&gt;利用C++语言的高效, 稳定和灵活性,创建一个通用的通讯平台; 服务器端以插件配置方式动态加入功能组件;&lt;br&gt;客户端以XML文本描述方式, 调用服务端功能组件的函数;...

    Linux网络编程 Linux网络编程.TXT

    ### Linux网络编程核心知识点解析 #### 一、网络模型与协议概述 - **OSI七层模型**:从物理层到应用层,详述了数据在网络中的传输过程。 - **Internet模型**:简化了OSI模型,将网络分为四层:应用层、传输层、...

    Linux网络编程,包括tcp/upd,select/poll/epoll/pdf

    linux网络编程 pdf # Linux网络编程基础 Linux网络编程是指在Linux操作系统上开发网络应用程序的过程。它主要涉及到TCP/UDP协议以及select/poll/epoll等多路复用技术。 TCP/UDP协议是网络通信的基础,其中TCP协议...

    C++网络服务开发套件0.5.3

    1. 目的: &lt;br&gt;利用C++语言的高效, 稳定和灵活性,创建一个通用的通讯平台; 服务器端以插件配置方式动态加入功能组件;&lt;br&gt;客户端以XML文本描述方式, 调用服务端功能组件的函数; 服务端也同样以XML文本描述调用返回...

    Linux网络编程教程pdf完整版

    《Linux网络编程教程》这本书是Linux系统中进行网络编程的重要参考资料。它涵盖了广泛的知识点,旨在帮助读者理解和掌握如何在Linux环境下开发网络应用程序。以下是对这些主题的详细阐述: 1. **网络编程基础**:...

    linux网络编程(linux网络编程入门书籍)

    Linux网络编程是操作系统领域中的一个重要话题,特别是在服务器端软件开发中。这门技术涉及如何在Linux环境下编写程序,实现网络通信,包括TCP/IP协议栈、套接字编程、并发服务处理等多个方面。以下是对这个主题的...

    linux C语言 网络编程教程及源码

    1、Linux网络编程1——啥叫原始套接字 2、Linux网络编程2——原始套接字编程 3、Linux网络编程3——原始套接字实例:MAC头分析 4、Linux网络编程4——原始套接字实例:MAC地址扫描器 5、Linux网络编程5——IP数据报...

    Linux网络编程1.pdf

    Linux网络编程是计算机网络领域的一个重要组成部分,主要涉及操作系统级别的编程技术,用于实现网络应用软件的开发。以下是关于Linux网络编程的一些核心知识点,从OSI模型、进程间通信、套接字编程、到安全性和高级...

    linux 网络编程.pdf

    linux 网络编程.pdf

    Linux网络编程.pdf

    《Linux网络编程》一书深入探讨了在网络环境中利用Linux操作系统进行高效编程的技术和理论,尤其适合于希望深入了解网络编程原理及实践的读者。本书不仅涵盖了网络编程的基础理论,还提供了丰富的示例代码,帮助读者...

    Python网络编程(Linux)_网络编程_python_linux网络编程_

    1. **网络编程基础**:网络编程涉及到通过网络进行通信的软件设计。它涉及IP地址、端口号、协议(如TCP/IP、UDP)和数据传输。在Python中,这些概念可以通过内置的socket模块来实现。 2. **Python的socket模块**:...

    linux网络基础和网络编程

    Linux网络基础和网络编程...对于压缩包中的"01_Linux网络编程-网络基础-socket编程-高并发服务器.pdf"文档,可以作为进一步学习和研究的参考资料,它可能详细阐述了这些概念并包含实例代码,有助于读者深化理解和应用。

    Linux网络编程-基础

    Linux 网络编程基础 Linux 网络编程是一种在 Linux 操作系统下进行网络通信的编程方式,通过使用套接字(socket)和各种网络函数来实现网络通信。在 Linux 系统中,网络编程可以分为客户端和服务器端两个部分,...

    Linux环境下的网络编程.pdf

    "Linux 环境下的网络编程" Linux 作为一个单一内核的操作系统,协议栈的实现嵌在系统内核中,本文分析了 TCP/IP 协议的基本原理以及 Linux 中的 TCP/IP 网络层次结构,重点介绍了 Linux 环境下的 socket 编程。 ...

Global site tag (gtag.js) - Google Analytics