/*ex2serv.c*/

#include <time.h>

#include<stddef.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <netdb.h>

#define LISTENQ  5

#define  MAXLINE 512

//char data2[10] = {0,1,2,3,4,5,6,7,8,9};

int listenfd, connfd;

char buff[MAXLINE];

void net_init()

{

  

        int n=0;

        FILE *fp;

        //int x,y;

       

 socklen_t len;

        int i=0,k=0;

 struct sockaddr_in servaddr, cliaddr;

char recvbuff[256];

 //time_t ticks;

       

 listenfd=socket(AF_INET, SOCK_STREAM,0);

 if(listenfd<0)

 {

  printf("Socket created failed.\n");

  return ;

 }

 servaddr.sin_family=AF_INET;

 servaddr.sin_port=htons(6000);

 //servaddr.sin_addr.s_addr=htonl(INADDR_ANY);

        servaddr.sin_addr.s_addr=inet_addr("192.168.253.99");

 if(bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr))<0)

 {

  printf("bind failed.\n");

  return ;

 }

 printf("listening....\n");

 listen(listenfd, LISTENQ);

 //while(1)

 {

  len=sizeof(cliaddr);

  connfd=accept(listenfd,(struct sockaddr *)&cliaddr, &len);

  //printf("connect from %s, port %d \n",inet_ntoa(cliaddr.sin_addr.s_addr),ntohs(cliaddr.sin_port));

    printf("listened OK\n");

 }

}

void net_trans(unsigned char *buf,int len)

{

  int tmp1=0,i=0;

   //if(len<2000)

       write(connfd,buf,len);

   return;

   //else

   {

       tmp1 = len/2000;

       for(i=0;i<tmp1;i++)

           write(connfd,buf+2000*i,2000);

       tmp1 = len%2000;

       if(tmp1!=0)

           write(connfd,buf+2000*i,tmp1);

   }

}

void net_close()

{

        strcpy(buff,"over!\n");write(connfd,buff,strlen(buff));

 close(connfd);

}

//*/

armlinux下的网路传输(tcp/ip)的更多相关文章

  1. 文件传输——TCP/IP协议介绍总结

    一.链路层 数据链路层的工作特性: 1.为IP模块发送和接收IP数据报2.为ARP模块发送ARP请求和接收ARP应答(ARP:地址解析协议,将IP地址转换成MAC地址)3.为RARP发送RARP请求和 ...

  2. 网路流程图 TCP/IP

  3. 面试热点|理解TCP/IP传输层拥塞控制算法

    0x00.前言 通过本文你将了解到以下内容: 拥塞控制概念以及其背景 流量控制和拥塞控制的区别与联系 拥塞控制主要过程详解 伙伴们认真学习一下,让offer来得更猛烈些吧! 0x01.TCP/IP协议 ...

  4. (转载)OSI七层参考模型和TCP/IP四层参考模型

    Mallory   网络模型概念浅析 网络模型一般是指OSI七层参考模型和TCP/IP四层参考模型. #只是一种设计==模型# Open System Interconnect的缩写,意为开放式系统互 ...

  5. OSI七层与TCP/IP四层(小结)

    OSI 七层模型 我们一般使用的网络数据传输由下而上共有七层,分别为物理层.数据链路层.网络层.传输层.会话层.表示层.应用层,也被依次称为 OSI 第一层.第二层.⋯⋯. 第七层. 各层功能简介 1 ...

  6. 一个项目看java TCP/IP Socket编程

    前一段时间刚做了个java程序和网络上多台机器的c程序通讯的项目,遵循的是TCP/IP协议,用到了java的Socket编程.网络通讯是java的强项,用TCP/IP协议可以方便的和网络上的其他程序互 ...

  7. TCP/IP协议概要--01

    学习一下tcp/ip协议,还是很枯燥,哎..... 图片的是从下到上对TCP/IP的协议进行描述的.主要是的描述每一层协议的特点 该层对应的是最底层的数据链路层,即图中的以太网驱动程序那一层. 该层是 ...

  8. linux视频学习3(linux安装,shell,tcp/ip协议,网络配置)

    linux系统的安装: 1.linux系统的安装方式三种: 1.独立安装linux系统. 2.虚拟机安装linux系统. a.安装虚拟机,基本是一路点下去. b.安装linux. c.linux 安装 ...

  9. TCP/IP 寻址

    原文:TCP/IP 寻址 第一节:TCP/IP 简介 第二节:TCP/IP 寻址 第三节:TCP/IP 协议 第四节:TCP/IP 邮件 TCP/IP 使用 32 个比特(bit)或者 4 个 0 到 ...

随机推荐

  1. MySQL--当事务遇到DDL命令

    众所周知MySQL的DDL语句是非事务的,即不能对DLL语句进行回滚操作,哪在事务中包含DDL语句会怎样呢? 如: #禁用自动提交 set autocommit=off; #创建tb1 create ...

  2. java中线程的状态详解

    一.线程的五种状态   线程的生命周期可以大致分为5种,但这种说法是比较旧的一种说法,有点过时了,或者更确切的来说,这是操作系统的说法,而不是java的说法.但对下面所说的六种状态的理解有所帮助,所以 ...

  3. 以Apache模块的方式编译安装php-5.5.4

    新建用户及用户组 groupadd webuser useradd -g webuser webuser 下载php-5.5 下载地址:http://pan.baidu.com/s/1o6I6Lnk ...

  4. Python元编程

    简单定义"元编程是一种编写计算机程序的技术,这些程序可以将自己看做数据,因此你可以在运行时对它进行内审.生成和/或修改",本博参考<<Python高级编程>> ...

  5. MySQL分区表基础

    首先要确定MySQL是否支持分区: Mysql> SHOW VARIABLES LIKE '%partition%'; +-----------------------+-------+| Va ...

  6. BZOJ 3545: [ONTAK2010]Peaks [Splay启发式合并]

    3545: [ONTAK2010]Peaks 题意:带权图,多组询问与一个点通过边权\(\le x\)的边连通的点中点权k大值 又读错题了,输出点一直WA,问的是点权啊 本题加强版强制在线了,那这道题 ...

  7. 51NOD 1705 七星剑 [DP 期望的线性性质]

    传送门 题意: 七颗星,第$i$课星用第$j$个宝石有$p[i][j]$的概率成功,失败将为$g[i][j]$颗星: 第$j$个宝石化费$c[j]$ 求最小期望化费 $MD$本来自己思路挺对的看了半天 ...

  8. django-rest-framework之基于类的视图

    前言:上一篇博客中,主要讲的是请求和响应,项目里面views.py中的视图函数都是基于函数的,并且我们介绍了@api_view这个很有用的装饰器.同时,我们还介绍了APIView这个类,但是还没使用它 ...

  9. 【模板小程序】求小于等于N范围内的质数

    //筛法求N以内的素数(普通法+优化),N>=2 #include <iostream> #include <cmath> #include <vector> ...

  10. dos命令(入门)

    先说一下dos命令在很多情况下的共有特性 1.大小写一样,如dir和DIR 2.盘符后不加目录时,像"dir E:"和"dir E:\"没什么区别 3.使用形如 ...