VC socket编程,数据接收问题

问题描述

VC socket编程,数据接收问题

用VC socket编程时,用recv函数接收字符串数据,只能接收到前4个字符,多于4个字符的都是“烫”字乱码。这是什么问题?怎么解决?
char cs[100];
case FD_READ:
{
CString num=""; //定义字符串,用于保存待显示字符
::recv(s1,cs,strlen(cs),0); //接收来自客户端的字符串数据
GetDlgItem(IDC_TEXT)->GetWindowText(num); //获取消息显示框中原有的字符
num+="rn"; //添加换行符
num+=(LPTSTR)::inet_ntoa(add1.sin_addr); //将客户端IP换成字符串
num+=":rn"; //添加换行符
num+=(LPTSTR)cs; //将接收到的字符串添加到显示字符串
num+=":rn"; //添加换行符
GetDlgItem(IDC_TEXT)->SetWindowText(num); //将字符串显示到消息显示框
}

解决方案

是不是不同的平台没有转换字符编码什么的,我猜测

时间: 2025-01-27 21:02:35

VC socket编程,数据接收问题的相关文章

深入浅出php socket编程_php实例

对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.什么是TCP/IP.UDP? 2.Socket在哪里呢? 3.Socket是什么呢? 4.你会使用它们吗? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的. UDP(User Data Protocol

在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分

编程|网络|异步 ///////////////////////////////////////////////////////////////////////////////////////////* 标题:在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分 当看到.NET中TcpListener和TcpClient的时候,我非常高兴,那就是我想要的通讯模式但是使用之后发现它们的力量太单薄了,我们需要一个更好的类库来替代它们. 下面提供了一些类,可以

数据接收-java的socket编程问题:为什么客户端接收服务器的数据时会有空白数据项?

问题描述 java的socket编程问题:为什么客户端接收服务器的数据时会有空白数据项? 例如:03-17 07:02:00.330 1984-2007/? I/info﹕ client buff --> 0/20160316//早餐/123.0 03-17 07:02:00.340 1984-2007/? I/info﹕ insert expend_table 03-17 07:02:00.340 1984-2007/? I/info﹕ client buff --> 03-17 07:02

nat穿透 udp-谁给一个在两个不同局域网内的主机,实现socket编程,能够发送和接收简单的数据

问题描述 谁给一个在两个不同局域网内的主机,实现socket编程,能够发送和接收简单的数据 本鸟在 网上查了一下资料,大部分都是关于tcp,udp穿透nat的方案,有一种是通过在一个外网的服务端的基础上实现,这得需要买一个外网ip,这种方案,我放弃了,我没钱买一个在公网上的ip 还一种一方端口映射,,不用外网的ip这种方式怎么实现啊??难道只是在路由器的转发规则,虚拟服务器上把自己的主机的ip和那个端口号添上就可以吗??上就可以吗??

编程-Java与C#用socket通讯 只求发送数据部分和数据接收部分(发送简单的文本信息)

问题描述 Java与C#用socket通讯 只求发送数据部分和数据接收部分(发送简单的文本信息) 只求发送数据部分和数据接收部分 TCP连接不要 客户端和服务器响应次数也不要 只求发送数据部分和数据接收部分(java发送c#接收) 解决方案 server: Java code public void handleConnection(Socket connection) { System.out.println("客户:" + connection.getInetAddress() +

Python中使用socket发送HTTP请求数据接收不完整问题解决方法_python

由于工作的需求,需要用python做一个类似网络爬虫的采集器.虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计.当然,这样的话,需要对HTTP协议比较熟悉,HTTP协议这里就不做讲解了.整个python的代码如下: #!/usr/bin env python import socket host="www.baidu.com" se=socket.socket(soc

windows socket编程客户端怎么使用recv函数接受服务器发送的大数据

问题描述 windows socket编程客户端怎么使用recv函数接受服务器发送的大数据 我写了个客户端接受服务器的数据,用recv接收,当缓冲区的大小小于发送的数据的大小后 要怎么处理recv函数,本人刚开始学习socket编程,还望大神们赐教啊!!!!! 解决方案 用while循环一直recv就可以了 解决方案二: 一直recv就可以了 解决方案三: 服务器和客户端两边的数据都安固定大小重复发送收取.可以把大小放小一些比较灵活,比如4096个字节

vc++,socket通讯,16进制数据发送问题!

问题描述 vc++,socket通讯,16进制数据发送问题!可以发送字符串,但不能发送16进制数据,如"7e015d56a1"server是以16进制接收,如server要收到"7e015d56a1",客户端应怎样发送!谢谢! 解决方案 解决方案二:16进制数如果是整数,转换为16进制串,接收收后转回.inta=12;strings=a.ToString("X2");intb=int.Parse(s,System.Globalization.Nu

linux c语言 socket编程 recv每次收到一样的数据

问题描述 linux c语言 socket编程 recv每次收到一样的数据 #include #include #include #include #include #include #include #include #include int main() { int so=socket(AF_INET,SOCK_STREAM,0),r; sockaddr_in addr; hostent hp; hp=gethostbyname("www.csdn.net"); addr.sin_