草庐IT

CHAR_LENGTH

全部标签

c++ - 从文本中获取数据的最佳方式 (char *)

嘿,我通过TCP和UDP将消息从客户端发送到服务器,而服务器是用C++编写的。我想知道什么是最好的、必须安全的发送方式,例如,如果我想发送登录数据:电子邮件、密码和IP。在消息中发送它并读取服务器中的数据的最佳方式是什么,而此数据存储在char*中。谢谢。 最佳答案 这实际上与C++没有任何关系。您问的是有关信息安全的一般性问题。您希望通过TCP或UDP发送包含敏感信息(电子邮件地址、密码和IP)的信息。为此,您需要使用密码学。密码学是一个复杂的领域,除非您非常了解自己在做什么,否则不应尝试推出自己的协议(protocol)。相反,

python - python 中的 socket 方法 recv(bufsize) 和 c 中的 recv(char *buf) 中的真正缓冲区是什么?

在python中,方法是:socket.recv(bufsize[,flags])在C中,方法是:intrecv(_In_SOCKETs,_Out_char*buf,_In_intlen,_In_intflags)这两个方法这里的buffer是什么?如果我创建一个TCP套接字,我认为它是receivewindowsize或receivebuffer。但是当我捕获测试tcp消息时,我发现我错了。我猜缓冲区是套接字缓冲区。当tcp消息到达并首先进入tcp的缓冲区(在传输层中)时。然后tcp的接收窗口开始滑动接收数据,如果消息正确,则将它们传递到socketbuffer(上面两种方法中的真实

C++:将大型二进制文件(2GB 到 4GB)保存到 char* 中的 RAM?

我正在使用C++开发一个文件传输程序,它将文件转换为二进制文件,将字节保存在char*中,然后通过TCP发送该char*连接到另一台计算机。然后另一台计算机在本地重新创建该文件。该程序确实有效,但我遇到了大文件的大问题!我无法分配足够的数组索引来包含字节!例如,如果我要发送一个600MB的文件,我需要一个具有6亿个索引的char*。这行得通。但是一旦我再高一点,程序就无法分配内存,我就会出错。我的一个friend建议我将文件分成block,然后逐block传输,但这会带来许多其他挑战,并且需要我基本上重写整个程序。有什么办法可以解决这个问题吗? 最佳答案

c - 使用 recv 接收传入的 char 数组

关于C套接字的问题回来了。我正在尝试通过TCP从客户端接收一个字符数组。我有以下recv代码:charbuffer[2048];intrecvBytes=0;while(1){if((clntSockfd=accept(servSockfd,(structsockaddr*)&clntAddr,&clntSockAddrLen))==-1){printf("Unabletoacceptclientconnection\n");exit(1);}else{printf("Clientconnectionaccepted!\n");}/*clearbuffer*/memset(buffer

Ubuntu,Docker - proxyconnect tcp : tls: oversized record received with length 20527

我正在运行我构建的docker二进制文件(遵循this),当我执行dockerpull时,我收到此错误。Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:proxyconnecttcp:tls:oversizedrecordreceivedwithlength20527我已经按照提到的方式设置了代理here,并且pull在默认守护进程和相同的代理设置下工作正常。将DNS更改为8.8.8.8似乎没有帮助。pingregistry-1.docker.io导致100%数据包丢失。dockerinfo给出了这个Contain

c - 如何更改 unsigned char 中的 4 位?

unsignedchar*adata=(unsignedchar*)malloc(500*sizeof(unsignedchar));unsignedchar*single_char=adata+100;如何更改single_char中的前四位以表示1..10(int)之间的值?问题来自TCP头结构:DataOffset:4bitsThenumberof32bitwordsintheTCPHeader.Thisindicateswherethedatabegins.TheTCPheader(evenoneincludingoptions)isanintegralnumberof32bi

c - 在 Swift 中,为什么 char * 变成了 UnsafePointer<Int8>?

我已将包含来自另一个项目的Objective-C类的文件添加到我的Swift项目中。在其中一个Obj-C类中,有一个名为“decodedBuffer”的数据成员,类型为char*。我不太精通C,但我认为字符指针是C表示字符串的方式。当我在我的Swift代码中尝试获取此数据成员时,例如通过编写以下行myObjCClass.decodedBuffer="anewvalue"我收到一条错误消息,指出decodedBuffer的类型为UnsafePointer.所以我有两个问题:为什么一个char*是一个UnsafePointer在swift?如果有的话,我希望它是UnsafePointer.

c - 在 Swift 中将 "char path[MAX]"的地址传递给 "const char*"的参数的最佳方法

我意识到“如何将char[]/char*转换为SwiftSting”这个问题有上百万种变体,而它们的反面,所有这些都已被询问和回答。我不是问那个。在Swift中,我只想简单地将Cchar数组(通过C函数获得)的地址传递给Cchar*指针另一个C函数的参数。具体来说,我试图复制以下C代码,其中stat.f_mntonname字段中包含的char数组的地址作为第一个参数传递getattrlist(constchar*,...)调用://Getvolumestatconstchar*path=...;structstatfsvolStat;if(statfs(path,&volStat)==

c - 在 C 中使用 Swift 中的 Char 数组

目前我有三个文件主.swiftvardog=Dog()dog.age=12dog.name="H"//ThisisthenonworkablecodeCTester.c#includestructDog{intage;charname[10];}Dog;和C测试桥接header#import"CTester.c"我试图在Swift中使用C结构,但是,Char数组在Swift中显示为10Int8的数组。如何获取Swift字符串并将其分配给char数组? 最佳答案 因此,您可以像这样为您的Dog编写一些扩展:swift2extensio

ios - 为什么 range.length 值在 shouldChangeCharactersInRange 委托(delegate)方法中因退格而改变?

在我将用户限制为最多24个字符后,我试图弄清楚这一行对退格键的效果如何。但我不知道它是如何工作的。我试图找出range.length的值,如果我插入一些字符,它会设置为0。但是当我在删除字符时按下后退按钮时,我将值设置为1?这是为什么?functextField(textField:UITextField,shouldChangeCharactersInRangerange:NSRange,replacementStringstring:String)->Bool{println("rangeis\(range)")println("rangelocationis\(range.loc