小编Nik*_*hil的帖子

Nagle算法和延迟ACK用于批量数据吗?

所以,当我遇到Nagle的算法时,我正在经历TCP的事情,并且延迟了针对小型数据包(1字节数据)的ACK.原因是,避免在网络上发送大量小数据包(Nagle)和捎带数据(延迟ACK).然而,对于批量数据没有提及这些算法,即我写了> 8000字节.4个问题:

  1. 这些算法是否仅适用于小型数据包?

  2. 例如,当我们执行写操作(8000)时,TCP首先发送1500个字节(假设1500为MSS并且发生慢速启动),在收到第一个ACK之前,它可以发送另外1500个字节的数据,然后是不违反Nagle的?

  3. 接收方是等待超时发送延迟的ACK还是在收到1500字节数据后立即发送?

  4. 它如何知道何时延迟ACK?它是基于接收缓冲区中的字节吗?

谢谢!

networking tcp

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

模拟器与手机哪一个依赖?

我几乎完成了我的应用程序..当我在模拟器上运行它,在某些点,它是非常慢的,我看到的是不受欢迎的..当我在我的手机上运行相同(xperia X8)它工作正常.我真的试着理解为什么会这样,但无济于事!我现在应该怎么做?运行更多测试并尝试优化或只是在市场上发布它?我所期待的是什么?任何信息将不胜感激

android android-emulator

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

无法运行scons获取导入错误

我已经安装了scons 2.3.2并且有python 2.4.

当我运行scons时,我看到以下错误:

scons
Import failed. Unable to find SCons files in:
  /usr/bin/../engine
  /usr/bin/scons-local-2.3.2
  /usr/bin/scons-local
  /usr/lib/scons-2.3.2
  /usr/lib/scons-2.3.2
  /usr/local/lib/scons-2.3.2
  /usr/lib/python2.4/site-packages/scons-2.3.2
  /usr/lib/python2.4/site-packages/scons-2.3.2
  /usr/local/lib/python2.4/site-packages/scons-2.3.2
  /usr/lib64/scons-2.3.2
  /usr/lib/scons
  /usr/lib/scons
  /usr/local/lib/scons
  /usr/lib/python2.4/site-packages/scons
  /usr/lib/python2.4/site-packages/scons
  /usr/local/lib/python2.4/site-packages/scons
  /usr/lib64/scons
Traceback (most recent call last):
  File "/usr/bin/scons", line 190, in ?
    import SCons.Script
  File "/usr/lib/scons/SCons/Script/__init__.py", line 76, in ?
    import SCons.Environment
  File "/usr/lib/scons/SCons/Environment.py", line 48, in ?
    import SCons.Defaults
  File "/usr/lib/scons/SCons/Defaults.py", line 52, in ?
    import SCons.Tool
  File "/usr/lib/scons/SCons/Tool/__init__.py", line 50, in ?
    import SCons.Scanner.C
  File "/usr/lib/scons/SCons/Scanner/C.py", line 36, in …
Run Code Online (Sandbox Code Playgroud)

python scons

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

gcc 编译错误:即使在设置 cflags 环境变量后,“内联调用always_inline 失败”

我正在 Ubuntu-16.04 中构建 ac 程序。正如这里的另一个答案之一所示,我已经设置了 cflag 环境变量,并且正在运行 gcc 命令,如下所示

\n\n
export  CFLAGS="-msse4.1"\ngcc -o dpdkif_user.o -O2 -g -Wno-format-zero-length -Wno-pointer-sign -Werror -I/home/nikhil/projects/drv-netif-dpdk/rumptools/dest/usr/include -U_FORTIFY_SOURCE -DVIRTIF_BASE=dpdk -I/home/nikhil/projects/drv-netif-dpdk/src/libdpdkif/virtif -I/home/nikhil/projects/dpdk/build/include -c dpdkif_user.c\n
Run Code Online (Sandbox Code Playgroud)\n\n

海湾合作委员会版本

\n\n
cc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,我仍然看到以下错误:

\n\n
/usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline \xe2\x80\x98_mm_alignr_epi8\xe2\x80\x99: target specific option mismatch\n _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)\n ^\nIn file included from /home/nikhil/projects/dpdk/build/include/rte_ether.h:50:0,\n                 from dpdkif_user.c:47:\n/home/nikhil/projects/dpdk/build/include/rte_memcpy.h:641:13: error: called from here\n             _mm_storeu_si128((__m128i *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset)); …
Run Code Online (Sandbox Code Playgroud)

c gcc

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

收到以下警告:在 GCC 4.4 中使用灵活数组成员传递结构的 ABI 已更改

当我尝试运行我的程序时,我收到了这个警告和一些奇怪的错误。 rmi_pdu在下面的结构中包含一个我想访问的可变大小的数组。

struct rmi_message_s {  /* Queue element containing Rmi message */
  struct rmi_message_s          *hnext;
  struct rmi_message_s          *hprev;
  uint16_t                      gen_counter;   /* Generation counter */
  time_value                    send_time;
  uint8_t                       retry_count;
  TAILQ_ENTRY(rmi_message_s)    rmi_message_next;
  rmi_message_pdu               rmi_pdu; /* contains a variable sized array */ 
};

typedef struct {
  uint16_t        zero;
  uint16_t        type;
  uint8_t         version;
  uint8_t         len;
  uint8_t         protocol;
  uint16_t        edge_port;
  uint16_t        core_port;
  uint32_t        connexus_id;
  pi_ipv4_addr_t  edge_addr;
  pi_ipv4_addr_t  core_addr;
  uint16_t        gen_count;     /* Integer to identify a stale packet */
  uint8_t         payload[];
} rmi_message_pdu;
Run Code Online (Sandbox Code Playgroud)

问题是当我试图释放我动态分配的内存时。内容在那里,但free() …

c flexible-array-member

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

有没有办法将文本视图中的文本设置为不可见?

我不能改变它的颜色或使用alpha,因为背景可能会改变,我不会知道它的颜色!有没有其他方法可以将其设置为隐形?此外,我不想将文本视图设置为不可见,因为我希望背景可见!

android

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

使用sizeof(数组)的宏未提供预期的输出

#include <stdio.h>
int arr[] = {1, 2,3,4,5};
#define TOT (sizeof(arr)/sizeof(arr[0]))

int main()
{
    int d = -1, x = 0;
    if(d<= TOT){
       x = arr[4];
       printf("%d", TOT);
    }
    printf("%d", TOT);
}
Run Code Online (Sandbox Code Playgroud)

TOT的值为5,但if条件失败..为什么?

c

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

当函数未被前向声明时,GCC在编译阶段不会抛出错误

好,

我的目录中有3个文件.

main.c中

#include <stdio.h>
int main(int a, int b, int c)
{
    aprint();
    bprint();
}
Run Code Online (Sandbox Code Playgroud)

AC

#include <stdio.h>

void aprint()
{
    printf("hey This is a.c");
}
Run Code Online (Sandbox Code Playgroud)

公元前

#include <stdio.h>
void bprint()
{
   printf("This is b.c");
}
Run Code Online (Sandbox Code Playgroud)

我还没有创建任何头文件.我刚刚编译使用"gcc main.c ac bc"我没有得到任何错误.我想知道发生了什么?gcc是否只是假设链接阶段的一切都没问题,为什么gcc在编译期间没有抛出错误?

c unix gcc

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

错误地删除了apk密钥

我在市场上提出了一个应用程序..但我必须更新应用程序..但我的错误我删除了旧的apk并对代码进行了更改,当我尝试上传应用程序时,它说我必须有相同的密钥..我现在应该怎么做?

android

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

std :: copy:copy仅发生1个字节而不是指定长度

请参阅下面的代码段:

#include <iostream>
using namespace std;

int main()
{
uint32_t len, x;
char abc[] = "12345678";
uint8_t *ptr = (uint8_t *)abc;
copy(ptr, ptr + 4, reinterpret_cast<uint32_t*>(&len));
cout << " len: " << len << endl;
} 
Run Code Online (Sandbox Code Playgroud)

输出是49!我希望输出为1234.我错过了什么

c++

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