qq_34486642的博客

私信 关注
qq_34486642
码龄5年
  • 94
    被访问量
  • 1
    原创文章
  • 1,249,188
    作者排名
  • 0
    粉丝数量
  • 毕业院校 吉林大学
  • 于 2016-03-30 加入CSDN
获得成就
  • 获得0次点赞
  • 内容获得1次评论
  • 获得0次收藏
荣誉勋章
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

DPDK pdump个人学习笔记

DPDK 20.08 PDUMP工具学习 pdump是DPDK自带的调试工具,可以将抓到的包存储为pcap文件。 本人接触DPDK时间相对较短,本博客仅为本人学习记录与笔记,肯定是错误连篇,而且由于本人比较笨,所以写的比较像流水账,便于本人理解。这些写在前面,希望不要误导别人(或者被大佬喷)。 pdump主函数如下: int main(int argc, char **argv) { int diag; int ret; int i; char n_flag[] = "-n4"; char m
原创
89阅读
1评论
0点赞
发布博客于 2 月前

linux下socket数据传输错误

我想在linux下用openssl做一个socket传输的加密demo,但是原来没接触过,有些问题。下面这个是我发送和接收的代码,里面发送和接收了rsa公钥的数据和长度,但是不是每次发送都能成功,比如第一次成功接收,之后再次运行这两个程序,就接收不到了,求帮助解决。

//send.cpp
int sendKey(unsigned char *pk,int pk_len,int serv_sock){
    int32_t conv=htonl(pk_len);
    char *data = (char*)&conv;
    int len = sizeof(conv);
    char *key=(char*)pk;
    struct sockaddr_in clnt_addr;
    socklen_t clnt_addr_size = sizeof(clnt_addr);
    int clnt_sock = accept(serv_sock, (struct sockaddr*)&clnt_addr, &clnt_addr_size);
    int rc1=write(clnt_sock, data, len);
    if(rc1<0){
        printf("errno is %d\n",errno);
    }
    int rc2=write(clnt_sock, key, pk_len);
    if(rc2<0){
        printf("errno is %d\n",errno);
    }    
    close(clnt_sock);
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
int main(){
    int sock = socket(AF_INET, SOCK_STREAM, 0);
    struct sockaddr_in serv_addr;
    memset(&serv_addr, 0, sizeof(serv_addr));  
    serv_addr.sin_family = AF_INET;  
    serv_addr.sin_addr.s_addr = inet_addr("192.168.0.100");  
    serv_addr.sin_port = htons(8000);  
    connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));

    unsigned char buffer[100000];
    int32_t pk_len=0;
    char *data=(char*)&pk_len;
    read(sock, data, sizeof(pk_len));
    read(sock, buffer, ntohl(pk_len));
    for (int i=0; i<ntohl(pk_len); i++)
    {
        printf("0x%02x, ", *(buffer+i));
    }
    printf("pklen from server:%d\n",ntohl(pk_len));


    close(sock);
    return 0;
}

图片说明

2回答
发布问题于 1 年前