首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Linux网络编程】Socket编程--TCP:echo server | 多线程远程命令执行

    :返回值是一个文件描述符 如何理解这里的文件描述符和_sockfd ?..._sockfd套接字是用来获取新的连接,accept返回的文件描述符套接字是用来给客户提供服务的,随这_sockfd套接字获取的连接增多,accept返回的文件描述符套接字会越来越多。...~TcpServer() {} private: uint16_t _port; int _listensockfd; bool _isrunning; }; 为什么两次都是...如果服务器拒绝连接,或者发生其他网络错误,则 connect 会失败,并返回错误代码。 通过命令行参数指定服务器地址和端口,连接到服务器后,可以输入并发送消息,接收服务器返回的回显消息。...返回值: 如果调用成功,popen 返回一个 FILE * 类型的指针,该指针指向一个文件流,这个流可以用来与执行的命令交互。

    76710

    Python 函数为什么会默认返回 None?

    return 语句,但是在函数调用后,都能取到一个返回值。...它们的执行效果跟直接写 return 语句相比,是完全相同的: 这 4 个例子属于两种类型:一种没有写 return,但是都有隐藏的 return 返回值;一种写了 return,而且实际也有返回值。...不管有没有写 return,它们都会执行 return 的逻辑,而且默认的返回值就是 None。 那么,问题来了:Python 的函数为什么能默认返回 None 呢?它是如何实现的呢?...答案就在解释器中,当 CPython 解释器执行到函数的最后一个代码块时,若发现没有返回值,它就会主动地加上一个 Py_None 值返回(出自:compile.c): 也就是说,如果定义的函数没有返回值...那么,这就会引出新的问题:Python 为什么要求函数都要有返回值呢?为什么它不像某些语言那样,提供一个 void 关键字,支持定义无返回值的空函数呢?

    3.4K40

    14.1 Socket 套接字编程入门

    一般套接字通信需要经历,创建套接字(Socket),绑定(Bind),监听(Listen),接受(Accept),连接(Connect),发送数据(Send),接收数据(Receive),关闭(Close...在该函数中,给定三个参数,分别为地址族(Address Family)、套接字类型(Socket Type)和协议(Protocol),套接字在初始化并完成时会返回一个SOCKET类型的文件描述符句柄,...一旦连接请求被接受,函数将返回一个新的套接字对象和客户端的地址信息。在接受连接请求并创建新的套接字对象之后,服务器可以使用该对象与客户端进行通信。...如果连接建立成功,connect() 函数将返回 0。如果连接失败,则会返回一个错误代码,其中最常见的错误是连接超时或目标主机拒绝连接。...一般来说,在与服务器进行通信之前,客户端套接字需要使用bind()函数指定一个本地地址和端口,以确保数据可以正确地传输。

    1.2K50

    windows环境下CC++的socket相关网络编程详解以及部分TCP详解

    要为套接字分配一个地址(主要是指IP地址和端口号),接下来登场的就是bind()函数 2.绑定地址(bind): 服务端想在其创建的Socket上绑定一个IP地址和端口号,需要调用bind()函数,并传入一个包含地址信息...int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); sockfd:这是通过之前socket()函数调用返回的套接字描述符...在Windows系统中,错误值通常是SOCKET_ERROR(通常定义为-1)。...特别地,当套接字被设置为非阻塞模式时,如果发送缓冲区已满或者由于其他原因暂时无法发送更多数据,send可能立即返回SOCKET_ERROR并且WSAGetLastError()返回WSAEWOULDBLOCK...如果成功,函数会立即返回0。

    5.8K63
    领券