c socket 开发测试

c语言异常

参照他人代码写一个tcp的 socket 开发测试

异常A,在mac osx系统下编译失败,缺库转到debian下。

异常B,include引用文件顺序不对,编译大遍异常

异常C,/usr/include/x86_64-linux-gnu/sys/types.h:34:1: error: unknown type name ‘__u_char’ 文件前注释的问题,删掉注释则通过

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
#include <errno.h>
#include <stdio.h>
int accepthandle(int acceptpoint);
int main(void) {
    int socketfid;
    char buf[1024];
    struct sockaddr_in  server_add;
    char * localaddr = "127.0.0.1";//
    server_add.sin_family=AF_INET;
    server_add.sin_port=htons(29001);
    server_add.sin_addr.s_addr=htonl(INADDR_ANY);

    socketfid=socket(AF_INET,SOCK_STREAM,0);
    printf("socket start \n");
    if (socketfid < 0) {
        printf("socket error \n");
        return -1;
    }
    printf("bind start \n");
    if(bind(socketfid,(struct sockaddr *)&server_add,sizeof(struct sockaddr))<0){
        printf("bind error \n");
        return -1;
    }
    //监听套接子
    printf("listen start \n");
    if(listen(socketfid,1024)<0){
        printf("listen error \n");
        return -1;
    }
    printf("accept start \n");
    while(1){
        int pid;
        struct sockaddr_in client_add;
        memset(&client_add, 0, sizeof(client_add));
        int leng=sizeof(client_add);

        int acceptresult=accept(socketfid,(struct sockaddr *) &client_add,&(leng));
        if (acceptresult < 0) {
            printf("accept error %d \n", acceptresult);
            return -1;
        }
        printf("infor \n");
        printf("clent addr%s porit %d\n",
               inet_ntop(AF_INET, &client_add.sin_addr, buf, sizeof(buf)),
               ntohs(client_add.sin_port));
        pid = fork();
        if (pid < 0) {
            close(acceptresult);
        }
        else if(pid == 0){
            //子进程停止监听,去处理接收数据
            close(socketfid);
            accepthandle(acceptresult);
        } else {
            //父进程 什么都不干(继续监听)
        }
    }
    return EXIT_SUCCESS;
}
int accepthandle(int acceptpoint){
    char buf[1024];
    int readresult;
    while(1){
        readresult=read(acceptpoint,buf,sizeof(buf));
        if(readresult<0){
            printf("read error \n");
            close(acceptpoint);
            break;
        }
        else if (readresult==0){
            printf("client exit \n");
            close(acceptpoint);
            break;
        }
        else{
            printf("client:%s\n", buf);
            if (strcmp("exit", buf) == 0) {
                printf("exit \n");
                close(acceptpoint);
                return 0;
            }

        }

    }
    return 0;
}
时间: 2024-09-30 11:13:44

c socket 开发测试的相关文章

loadrunner简单使用&mdash;&mdash;HTTP,WebService,Socket压力测试脚本编写

先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西.比较久之前很简单的用过,最近又用到了,熟悉一下.现做一个总结. 使用loadrunner进行压力测试主要分两步:第一步是编写脚本(比较重点),第二步执行测试(配置都是在界面上点点就行,当然我只是比较简单的,能满足日常需要的),第三步分析结果(这一步比较高深,但是对于我来说能看懂简单的性能指标就OK)所以这里就说一下脚本的编写,给未来再用到做参考. 1,HTTP的GET请求 这里以访问百度为例,地址http:

(转载)loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写

原文出处:http://ajita.iteye.com/blog/1728243/ 先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西.比较久之前很简单的用过,最近又用到了,熟悉一下.现做一个总结. 使用loadrunner进行压力测试主要分两步,第一步是编写脚本(比较重点),第二步执行测试(配置都是在界面上点点就行了,当然我只的是比较简单的,能满足日常需要的),第三步分析结果(这一步比较高深,但是对于我来说能看懂简单的性能指标就OK了).所以这里就说一下脚

loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写

先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西.比较久之前很简单的用过,最近又用到了,熟悉一下.现做一个总结. 使用loadrunner进行压力测试主要分两步,第一步是编写脚本(比较重点),第二步执行测试(配置都是在界面上点点就行了,当然我只的是比较简单的,能满足日常需要的),第三步分析结果(这一步比较高深,但是对于我来说能看懂简单的性能指标就OK了).所以这里就说一下脚本的编写,给未来再用到做参考. 1.HTTP的GET请求 这里以访问百度为例,地址h

(转)Socket开发时,Available为0,实际还有数据的问题

本文转载自:http://blog.csdn.net/youbl/article/details/11067369 这段时间处理Socket通讯,比如文件传输,通常代码如下:string filename = @"c:\abc.txt";// 发送文件名字符串长度(测试代码,实际请传输字符串字节长度)SendLength(socket, filename.Length);// 发送文件名字符串SendData(socket, filename);// 发送文件长度和文件实际内容Send

博客模板开发测试随笔

博客模板开发测试随笔博客模板开发测试随笔

一块钱使用开发测试环境,助你快速打造万圣节促销应用

作为一名兢兢业业的员工,我热爱很多节日,比如:春节.劳动节.国庆节(放假的日子不要太爽好不啦),但是我也讨厌很多节日,比如:情人节.教师节.万圣节(又不放假,还要搞事情!).节日期间总是企业间最拼效率的时候,谁的产品先上线,谁就能抓住先机,赚他个盆满钵满的,老板亲切和蔼的告诉我们,工作要点就是一个字:快快快! 然而理想和现实还是有差距的!眼看万圣节就要来临,一个整合促销功能的小应用只要短短几天就能开发完毕,但购置一套开发测试环境却要等待几周甚至是更长的时间,我不敢想象老板那时的表情.时间的问题困

Socket开发

Socket开发框架之消息的回调处理 伍华聪 2016-03-31 20:16 阅读:152 评论:0 Socket开发框架之数据加密及完整性检查 伍华聪 2016-03-29 22:39 阅读:709 评论:2 Socket开发框架之数据传输协议 伍华聪 2016-03-26 00:00 阅读:1049 评论:1 Socket开发框架之框架设计及分析 伍华聪 2016-03-22 11:15 阅读:1931 评论:6 Socket开发框架之数据采集客户端 伍华聪 2011-06-08 23:4

博客模板开发测试随笔2

博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔 博客模板开发测试随笔

android上进行c/C++开发测试(转)

Android C编程技巧 运行模拟器 emulator -console * 将文件写入到模拟器的userdata.img文件中 adb push *将一个目录拷贝到模拟器中,包括子目录 adb push * 将一个目录从模拟器中拷出来 adb pull * 使得模拟器可以运行arm代码. 使用GNU/ARM Linux编译器编译你的应用程序就可以了 * 在模拟器里面运行shell,需要先运行模拟器 adb shell *运行模拟器中的一个控制台程序 adb shell *连接模拟器的控制台