linux read recv,read()/ recv()成功,但缓冲区未更改且为空

我正在编写一个客户端,以使用LINUX上的C脚本读取TCP下通过套接字从服务器发送回的数据。

该服务器永远运行,我验证是否可以得到答复netcat localhost [PORT_NUMBER]。使用以下命令检查时,服务器处于LISTEN状态netstat -nap

recv()函数返回预期的字节数,但是buffer变空并且strlen(buffer)为0。我还尝试更改为read(),这没想到会有不同的结果,并且显示了相同的问题。

这是代码。

#include

#include //strlen

#include

#include //inet_addr

#include

#include

int main(int argc, char *argv[])

{

int socket_desc, msg_rep_size = 1200, msg_size = 100;

struct sockaddr_in server;

char message[msg_size], server_reply[msg_rep_size];

//Create socket

socket_desc = socket(AF_INET, SOCK_STREAM, 0);

if (socket_desc == -1)

{

printf("Could not create socket");

}

server.sin_addr.s_addr = inet_addr("0.0.0.0");

server.sin_family = AF_INET;

server.sin_port = htons(31114); // PORT_NUMBER

//Connect to remote server

if (connect(socket_desc, (struct sockaddr *)&server, sizeof(server)) < 0)

{

printf("connect error");

return 1;

}

printf("Connected");

while (1)

{

// send some data

bzero(message, msg_size);

strncpy(message, "REQUEST\n", msg_size);

if (send(socket_desc, message, msg_size, 0) < 0)

{

printf("Send failed");

return 1;

}

printf("Data Send\n");

// Receive a reply from the server

bzero(server_reply, msg_rep_size);

int read_result = recv(socket_desc, server_reply, msg_rep_size, 0);

if (read_result < 0)

{

printf("Receive failed\n");

return 1;

}

else

{

printf("Reply received\n");

printf("read_result: %d\n", read_result);

printf("strlen(server_reply): %d\n", (int)strlen(server_reply));

printf("Reply: %s\n", server_reply);

}

usleep(8);

}

return 0;

}

如果我从

int read_result = recv(socket_desc, server_reply, msg_rep_size, 0);

int read_result = read(socket_desc, server_reply, msg_rep_size);

感谢您的帮助。我是套接字编程的新手,无法跟踪发生了什么。

PS。答复的预期字节大小为1108,这是正确的。我打算将最大大小设为1200,以确认接收到正确的字节数。

PS2。也请随时对低级c的编码风格进行评论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 代码阅读,代码阅读器手机版-代码阅读器appv1.0 安卓版-腾牛安卓网

代码阅读器app&#xff0c;一款非常不错的手机阅读开源代码软件&#xff0c;不但能够让你们在上面选择自己喜欢的阅读代码&#xff0c;还能够选择大量的阅读主题&#xff0c;方便你们在任何时候&#xff0c;都能够获得最佳的阅读环境。代码阅读器app简介一款简单的源码阅读器的…

android点击运行后无法显示设备,Android仿真器除了黑屏外什么都不显示,adb设备显示“设备离线”...

我只是想开始在Android中进行开发。因此&#xff0c;问题是当我尝试通过发出命令emulator A2来启动仿真器时&#xff0c;屏幕上会出现一个仿真器。但是即使等待了2-3个小时&#xff0c;它所显示的只是一个黑屏。甚至没有android主屏幕或android徽标。只是黑屏。最初&#xff0…

Android测量图像中物体大小,android – 加载图像后测量ImageView

我试图找到一种方法来测量ImageView后使用Glide或Picasso(或其他任何东西)加载图像.基本上,我试图在某些位置在图像顶部布局其他视图,但需要最终的ImageViews尺寸才能准确地完成.我不知道用于尝试这样做的最佳布局是什么,但我目前正在使用这个&#xff1a;android:layout_width…

android string参数最大长度,每日一问 | 我们经常用的 String类型,你知道它最大可以放多长的字符串吗?...

String被用作常量时&#xff0c;它被编译器当成字面量存放于常量池。常量池中主要存放两大类常量&#xff1a;字面量和符号引用&#xff1b;常量池中的每一个常量都是一个表&#xff0c;字符串常量存于CONSTANT_Utf8_info表(Tip:字节码文件由无符号数和表映射的数据构成&#x…

android物理健代码,Android 物理按键整理及实例代码

先给大家看一段代码&#xff0c;然后说明。import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.widget.Toast;public class MainActivity extends Activity {Overrideprotected void onCreate(Bundle…

Android studio 按钮排版,Android Studio自动排版的两种方法

解决java compiler level does not match the version of the installed java project facet在项目目录的.setting文件夹下的org.eclipse.wst.common.project.facet.core.xml中 CSS长度单位及区别 em ex px pt in1. css相对长度单位 em 元素的字体高…

android 中自定义键盘,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游戏专门写一个键盘.1.首先尝试了写一个简单的键盘,发现无法实现跨进程用(也就是说只能…

linux sed 冒号,linux sed 总结

1.简介sed是一种行编辑器&#xff0c;它一次处理一行内容。2.sed调用方式sed [options] command file(s)sed [options] -f scriptfile file(s)第一种直接在命令行中执行&#xff0c;第二种把命令写到了脚本中&#xff0c;二者无本质区别。示例(1)&#xff1a;打印hello.txt的内…

wps office android,WPS Office

应用介绍安卓端办公软件&#xff0c;个人版免费使用用户多:全球用户600,000,000排名高:全球APP总榜同类产品榜首体积小:只安装一个应用即可打开所有格式文档云办公:免费云空间&#xff0c;安全高效&#xff0c;可以在任何设备.上及时查看和编辑远程办公推荐-远程会议&#xff0…

鸿蒙形容欣欣向荣发展,比喻事业蓬勃发展繁荣兴旺的成语蒸蒸日上

2020-03-13阅读(79)1.《RE从零开始的异世界生活》作者&#xff1a;长月达平。2.《魔法少女小圆》作者&#xff1a;新房昭之。3.《命运石之门》作者&#xff1a;冈部伦太郎。4.《寒蝉鸣泣之时》作者&#xff1a;前原圭一。5.《目隐都市的演绎者》作者&#xff1a;新房昭之。6.《…

android 照片特效,android触摸时扭曲变形图片照片,图片特效

【实例简介】在手指触摸照片图片时扭曲变形图片照片&#xff0c;用于变脸&#xff0c;哈哈镜&#xff0c;旗帜飘动特效的应用中【实例截图】【核心代码】MeshTest└── MeshTest├── AndroidManifest.xml├── bin│ ├── classes.dex│ ├── org│ │ └── …

c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf

c语言深度解剖(解密).pdf.pdf还剩130页未读&#xff0c;继续阅读下载文档到电脑&#xff0c;马上远离加班熬夜&#xff01;亲&#xff0c;很抱歉&#xff0c;此页已超出免费预览范围啦&#xff01;如果喜欢就下载吧&#xff0c;价低环保&#xff01;内容要点&#xff1a;* Stru…

html中链接不自动变色,HTML 点击 标签 链接 点击之后变色-转发【已解决】

可以利用CSS的伪类实现&#xff1a;a:link&#xff0c;定义正常链接的样式&#xff1b;a:visited&#xff0c;定义已访问过链接的样式&#xff1b;a:hover&#xff0c;定义鼠标悬浮在链接上时的样式&#xff1b;a:active&#xff0c;定义鼠标点击链接时的样式。例子&#xff1a…

中秋主题html,中秋节活动主题标语

以下是出国留学网小编为大家精心挑选和整理的中秋节活动主题标语&#xff0c;供大家参考和借鉴&#xff0c;希望能帮助到大家!更多资讯尽在出国留学网!1. 庆中秋&#xff0c;迎国庆&#xff0c;送大礼!2. 万家团圆迎中秋&#xff0c;四海欢腾庆国庆3. 月是故乡明,饼表思亲情!4.…

一张纸厚度是多少毫米_大洼20毫米水泥纤维板多少钱一张追求至善

大洼20毫米水泥纤维板多少钱一张追求至善而且强度和硬度随时间而增强&#xff0c;保证有超长的使用寿命。近年来&#xff0c;我国对loft复式阁楼板的研究较为深入。与龙骨的配合&#xff0c;有效降低工程和装修成本&#xff0c;外观颜色均匀&#xff0c;表面平整&#xff0c;直…

html中删除代码怎么写,html空格代码怎么写?

html空格代码怎么写&#xff1f;html空格代码是 为html空格字符代码&#xff0c;由“ ”组成&#xff0c;记住最后一个分号不要忘记了。CSS中当 white-space 属性取值为pre时&#xff0c;浏览器会保留文本中的空格和换行,例如&#xff1a;AA BB显示效果为&#xff1a; AA BBCS…

管程由哪三部分组成_黄蜀葵烘干机是由哪几个部分组成的

黄蜀葵在近几年有大量的需求增加&#xff0c;市面上有大量的黄蜀葵烘干机的需求产生&#xff0c;黄蜀葵烘干机一般用的都是网带机的形式结构来对黄蜀葵进行烘干&#xff0c;那么黄蜀葵烘干机的重要组成部分有哪些呢&#xff1f;1 上料端上料端是黄蜀葵烘干机的前段部分&#xf…

在线js拼接html代码,关于js拼接html元素?

你的意思是 小明和 888888这样的学号都是从数据中来的&#xff1f;然后要展现到前端页面中其实有很多方法&#xff1a;一. 直接全HTML拼接(你可能想到的方法)// 假设 有 name 和 xueID 分别代表名字和学号的变量var HTMLbankname xueID name 上学校&#xff0c;天天不迟到&…

用php 用拼出一个菱形_这可是我没来过的杭州呀!远在开封的他,用一种特殊的方式,拼出一个彩色杭州...

天气晴好的日子&#xff0c;一起骑车出游。西湖&#xff0c;除了美&#xff0c;还有爱情。杭友圈达人“幽默之余”&#xff1a;我并不是杭州人&#xff0c;在河南开封工作&#xff0c;但和杭州&#xff0c;和都市快报&#xff0c;已经有近10年的感情了。因为喜欢摄影&#xff0…

html文字自动消失了,为什么从网页上复制的文字到word上一修改后面的字就自动消失了...

word打字时后面的字会消失是什么原因?如何解决?出现这种问题多半是发生设置错误或误触键盘某些键导致的,由于插入键与退格键距离非常的接近,于是,误触插入键是最常导致这种问题。而导致word打字后面的字会消失由于两方面的原因引起&#xff0c;一是insert键&#xff0c;二是W…