小编use*_*670的帖子

使用C进行套接字编程的双向通信

我对套接字编程有一点疑问.我能够将数据从客户端发送到服务器,我的服务器处理数据.处理完的数据的o/p,我想发回给我的客户.那么我们可以使用相同的套接字将数据"写"回客户端.我的意思是服务器在接受连接和接收数据之前侦听端口,所以类似地,我是否需要让我的客户端监听其他端口(将其绑定到其他插槽)并使我的服务器连接到该套接字并将数据传回.任何类型的例子或解释或参考将不胜感激.非常感谢提前.

c sockets network-programming

11
推荐指数
2
解决办法
2万
查看次数

如何从变量中访问特定的位组?

我有一个带有"x"位数的变量.如何提取特定的一组位,然后在C中处理它们?

c binary bit

8
推荐指数
2
解决办法
2万
查看次数

计算matlab中的元素数量

我是MATLAB的新手.假设我有一个像x = [1 1 1 1 1 1 0 0 1 0]的向量.我想计算向量中元素的总数和向量中非零元素的数量.然后拿出两个数字的比率.我在MATLAB帮助中搜索.怎么做元素数,但到现在为止我没有运气.如果有人向我提供帮助,那将会有很大的帮助.提前致谢.

matlab

4
推荐指数
1
解决办法
3万
查看次数

使用"C"在套接字编程中发送数据

我之前发过一个问题,关于同样的问题,但在这里我想要我的代码指导.使用我尝试创建用于发送数据包的人的提示.我的最大数据包结构以及头和有效负载是16个字节.如果可能的话,通过发送和接收代码浏览并建议我哪里出错.基本上我的客户端不断向服务器发送数据,它只是没有结束,服务器不显示结果.

客户:

int main(int argc, char *argv[])
{
    int sockfd, portno, n;
    struct sockaddr_in serv_addr;
    struct hostent *server;
    struct packet
    { 
        long int srcID;
        long int destID;
        long int pver;
        long int profiles;
        char length;
        long int data;
    };
    if (argc < 3) {
        fprintf(stderr,"usage: %s hostname port\n", argv[0]);
        exit(0);
    }
    portno = atoi(argv[2]); //Convert ASCII to integer
    sockfd = socket(AF_INET, SOCK_STREAM, 0); // socket file descriptor

    if (sockfd < 0) 
        error("ERROR DETECTED !!! Problem in opening socket\n");

    server = …
Run Code Online (Sandbox Code Playgroud)

c sockets network-programming

4
推荐指数
1
解决办法
3万
查看次数

在C和C++中使用结构

我是C的新手,我想知道如何访问放置在结构中的结构内部的元素.

struct profile_t
{
    unsigned char length;
    unsigned char type;
    unsigned char *data;
};

typedef struct profile_datagram_t
{
    unsigned char src[4];
    unsigned char dst[4];
    unsigned char ver;
    unsigned char n;
    struct profile_t profiles[MAXPROFILES];     
} header;
Run Code Online (Sandbox Code Playgroud)

如何访问profile_t中的元素?

c structure

3
推荐指数
1
解决办法
302
查看次数

将字符插入字符串

我想添加""{"status":true}使字符串看起来像"{"status":"true"}". 如何在特定位置向字符串插入字符?

我试过了strncat(),但没有得到想要的结果。我读到您需要为此创建自己的函数。谁能给我举个例子?

c string

3
推荐指数
1
解决办法
5万
查看次数

memcpy()的用法

因为我和C玩了两天,所以我总是遇到新问题.现在我想把我的数据记忆到char buf中,但我遇到了一些问题:我的代码如下:

         int main(int argc, char *argv[])
        {
         int sockfd, portno, n;
         struct sockaddr_in serv_addr;
         struct hostent *server;
     unsigned char buf[1024];

        struct profile_t 
      {
        unsigned char length;
        unsigned char type;
        unsigned char *data;
      };

        typedef struct profile_datagram_t
      {
        unsigned char src[4];
        unsigned char dst[4];
        unsigned char ver;
        unsigned char n;
        struct profile_t profiles[MAXPROFILES];     
      } header;


      header outObj;

      outObj.src[0] =1;
  outObj.dst[0] = 2;
  outObj.ver = 1;
  outObj.n = 2;


  outObj.profiles[0].length = 10;
  outObj.profiles[0].type = 1;
  outObj.profiles[1].length = 10;
  outObj.profiles[1].type = 2; …
Run Code Online (Sandbox Code Playgroud)

c memcpy

2
推荐指数
1
解决办法
4742
查看次数

在C中使用数组

我是C和C++的新手,我需要有关数组的帮助.我有一个数组初始化为零,500个元素(myDataBinary).现在我还有一个数组的第i个值,比如说1,2,3 ....现在通过从(my_data [10])读取值(1,2,3 ......),我想在相应的元素中myDataBinary"1",其余应为"0".我已经编写了下面的代码来实现这一点,但是我遇到了一些分段错误而无法看到正确的结果.任何有关这方面的帮助将不胜感激.提前致谢

     int my_data[10] = {1,3,9,10};
     int myDataBinary[500] = {0};
     int index;
     for(int i=0; i<sizeof(my_data);i++)
      {
        index = my_data[i]; 
        myDataBinary[index] = 1;
        printf("rec data %d = %d\n",index,myDataBinary[index]);

      }
Run Code Online (Sandbox Code Playgroud)

c c++ arrays

1
推荐指数
1
解决办法
197
查看次数

使用 JSON-C 解析的字符串的最大大小

我是 JSON-C 新手,我需要知道可以使用 json_tokener_parse 解析的字符串是否有大小限制。

所以基本上我需要知道当我使用时json_object * jobj = json_tokener_parse(string),可以传递的字符串是否有大小限制。

提前致谢。

while (ret==0)
    {
      if((ret = dbcp->c_get(dbcp, &keyd, &datad, DB_NEXT))==0){

      if(vflag) {
    printf("broadcast_mode: after dbcp->c_get(dbcp, &keyd, &datad, DB_NEXT)\n");
      }

      my = (myrecord *) datad.data;

      if(vflag) {
    printf("broadcast_mode: after my = (myrecord *) datad.data\n");
      }

      if(vflag) {
        printf("db: %d: key retrieved: data was %s, %d\n", *(int *)keyd.data,my->src, datad.size);
      }
     }
    }
  if(vflag) {
    printf("broadcast_mode: dbp->c_get 2\n");
  }


  if ((ret = dbcp->c_get(dbcp, &keyd, &datad, DB_NEXT)) !=0)
    {
      if(vflag) {
    dbp->err(dbp, …
Run Code Online (Sandbox Code Playgroud)

c json

1
推荐指数
1
解决办法
1319
查看次数

访问C中的结构成员

实际上几个小时前,我发布了一个问题,但我的问题中有一些错误(我的错!).我想访问放在结构(profile_datagram_t)中的结构(profile_t)的成员,profile_t是结构数组....

            struct profile_t
          {
            unsigned char length;
            unsigned char type;
            unsigned char *data;
          };

            typedef struct profile_datagram_t
         {
            unsigned char src[4];
            unsigned char dst[4];
            unsigned char ver;
            unsigned char n;
            struct profile_t profiles[MAXPROFILES];     
         } header;
Run Code Online (Sandbox Code Playgroud)

c struct

0
推荐指数
1
解决办法
784
查看次数

在客户端套接字代码中取消引用错误

直到yday我的代码运行正常,但今天我得到client.c:61:25:错误:解除引用指向不完整类型client.c:63:16:错误:解除指向不完整类型的指针

这些行再次写在下面.任何形式的帮助将不胜感激.

               #include <stdio.h>
               #include <stdlib.h>
               #include <string.h>
               #include <math.h>
               #include <sys/types.h> 
               #include <sys/socket.h>
               #include <netinet/in.h>
               #define MAXPROFILES  2

              int main(int argc, char *argv[])
          {
              int sockfd, portno, n;
              struct sockaddr_in serv_addr;
              struct hostent *server;
              unsigned char buf[1024];

              struct profile_t 
           {
              unsigned char length;
              unsigned char type;
              unsigned char *data;
           };

              typedef struct profile_datagram_t
          {
             unsigned char src[4];
             unsigned char dst[4];
             unsigned char ver;
             unsigned char n;
             struct profile_t profiles[MAXPROFILES];    
          } header;

             header outObj;

             if (argc < 3) {
             fprintf(stderr,"usage: …
Run Code Online (Sandbox Code Playgroud)

c sockets

0
推荐指数
1
解决办法
3442
查看次数

标签 统计

c ×10

sockets ×3

network-programming ×2

arrays ×1

binary ×1

bit ×1

c++ ×1

json ×1

matlab ×1

memcpy ×1

string ×1

struct ×1

structure ×1