首页 > 其他分享 >bind:success 但是无法执行下面的操作

bind:success 但是无法执行下面的操作

时间:2023-06-28 20:55:16浏览次数:27  
标签:下面 perror success bind connect saddr sockfd 执行

perror:success 但是无法执行后续操作

int sockfd = socket(AF_INET,SOCK_STREAM,0);
	if(sockfd<0)
	{
		perror("socket err");
		return -1;
	}
	struct sockaddr_in saddr;

	saddr.sin_family = AF_INET;
	saddr.sin_port = htons(atoi(argv[2]));
	saddr.sin_addr.s_addr = inet_addr(argv[1]);

	if(connect(sockfd,(struct sockaddr *)&saddr,sizeof(saddr))<0);
	{
		perror("connect err");
		return -1;
	}

这是上面的客户端网络连接,最后执行出现 perror connect success 的错误,不理解,报错为什么返回success,但是既然返回了success为什么不往下执行。

原因是

if(connect(sockfd,(struct sockaddr *)&saddr,sizeof(saddr))<0);

没错,就是判断语句加了分号。 这样不管条件表达式是不是真,都会进入到语句里面,然后就会return -1 返回。解决办法就是去掉“ ; ”就可以了。

标签:下面,perror,success,bind,connect,saddr,sockfd,执行
From: https://www.cnblogs.com/moveddown/p/17512552.html

相关文章

  • 为什么要研究Nipponbare NRT1.1Bjaponica和Nipponbare NRT1.1Bindica的根系微生物群落
    研究NipponbareNRT1.1Bjaponica和NipponbareNRT1.1Bindica的根系微生物群落差异有助于我们更好地了解NRT1.1B基因对水稻根系微生物群落的影响。NipponbareNRT1.1Bjaponica和NipponbareNRT1.1Bindica是两个近等基因系,它们除了NRT1.1B基因外,基因组序列几乎相同。通过比较这......
  • function 和 bind 函数
    bind函数可以改变函数的形态例如:voidadd(intx,inty)的函数类型为void(int,int)。使用bind绑定一个元素bind(add,1)后,变成void(int),其中x绑定为1。使用function类型接收bind的返回值摘自cppreference(std::function)//存储自由函数std::function<void(int)>......
  • pybind11内嵌解释器
    一、创建解释器需要在使用任意PythonAPI前初始化解释器,包括pybind11Python函数和类。RAIIguard类`scoped_interpreter`可用来管理解释器的生命周期。在guard类销毁时,解释器将会关闭并占用的内存。必须在所有Python函数前调用它。#include<pybind11/embed.h>//everything......
  • pybind11绑定类(一)
    一、自定义数据结构-结构体`class_`会创建C++class或struct的绑定。`init()`方法使用类构造函数的参数类型作为模板参数,并包装相应的构造函数;静态成员函数需要使用`class_::def_static`来绑定#include<pybind11/pybind11.h>namespacepy=pybind11;structPet{Pet......
  • python: Treeview Control binding data using tkinter and ttkbootstrap GUI
     """StudentUI.py读文件类date2023-06-24edit:GeovinDu,geovindu,涂聚文ide:PyCharm2023.1python11"""importdatetimeimportsysimportosfromtkinterimportttkfromtkinterimport*fromtkinter.ttkimport*fromttk......
  • ScrollView下面固定一个控件
    <?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:......
  • Vue(三):数据绑定(v-bind和v-model)
    数据绑定分为单向数据绑定和双向数据绑定,单向数据绑定就是前面学习的v-bind指令,而双向数据绑定则是下面学习的v-model指令。<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>数据绑定</title><scripttype="text/javascript&qu......
  • 最新《Android Framework开发文档》(经典Binder、Handler、AMS等面试题加解析)
    Android架构从从顶层到底层分别为应用程序层、应用程序框架层、运行层(系统Native库和Android运行时环境)和Linux内核层四部分。Framework即应用框架层,是Android架构的关键组成部分,为应用提供各种api和组件来支持开发。如今行业趋于饱和,开发技术越来越卷,Framework也已逐渐成为高薪......
  • Databinding+LiveData轻松实现无重启换肤
    最近项目需要用到无重启动态换肤功能,本来打算用github上star最多的Android-skin-support但仔细一看发现太复杂而且2年没维护+大量issues没解决,最终放弃经过探索,发现Databinding+LiveData能低成本实现无重启换肤无重启动态换肤(不需要recreate())无需制作皮肤包无额外依赖(Databi......
  • Android binder 机制驱动核心源码详解
    前言应用程序中执行getService()需与ServiceManager通过binder跨进程通信,此过程中会贯穿Framework、Natve层以及Linux内核驱动。binder驱动的整体分层如上图,下面先来宏观的了解下getService()在整个Android系统中的调用栈,ServiceManager本身的获取:与ServiceManage......