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

    【Linux】: Socket 编程

    通过启动的 qq,迅雷,浏览器。 而启动的 qq,迅雷,浏览器都是进程。换句话说,进程是人在系统中的代表,只要把数据给进程,人就相当于就拿到了数据。 所以:数据传输到主机不是目的,而是手段。...7.3 开始监听 Socket (TCP 服务器) 在服务器中,调用 listen() 函数使套接字进入监听状态,准备接受连接请求: int listen(int socket, int backlog...参数: socket:监听套接字描述符。 backlog:全连接队列的最大长度,用于处理多个客户端连接请求。...参数: socket:监听套接字。 address:存储客户端的地址信息。 address_len:地址结构的长度。...local.sin_addr.s_addr = INADDR_ANY; Listening Socket vs Connected Socket Listening Socket:服务器使用它来监听连接请求

    2.1K10

    【Linux网络】封装Socket

    在前面几篇文章中,我们实现了Socket编程,也就是基于UDP和TCP进行了网络编程,通过这几次编程我们已经熟悉了Socket编程相关的系统调用,那么这篇文章我们就来使用模版方法模式封装一个Socket...两个模板方法分别为服务端和客户端调用,服务端通过子类TcpSocket多态调用基类中的模板方法来完成创建套接字,绑定,监听等连接操作 2.2 TcpSocket子类 这里我们设置两个构造函数,一个无参构造用于初始化...TcpSocket() {} private: int _sockfd; // listensockfd, sockfd都可能 }; } 对于创建,绑定,监听这三个必要的基本操作..."; exit(SOCKET_ERR); } LOG(LogLevel::INFO) socket success...服务端 封装好之后就是使用封装的Socket来实现服务端,我们已经实现过了,这里就不再介绍了,只需要将原先的原生系统调用换成封装的Socket即可 #pragma once #include "Socket.hpp

    36110

    【Linux】Socket编程—TCP

    TCP socket API 详解   下面介绍程序中用到的 socket API,这些函数都在 sys/socket.h 中。...socket() 作用:打开一个网络通讯端口,如果成功的话,就像 open()一样返回一个文件描述符; 应用程序可以像读写文件一样用 read/write 在网络上收发数据; 返回值:如果 socket...bind() 介绍:服务器程序所监听的网络地址和端口号通常是固定不变的,客户端程序得知服务器程序的地址和端口号后就可以向服务器发起连接; 服务器需要调用 bind 绑定一个固定的网络地址和端口号;...作用:将参数 sockfd 和 myaddr 绑定在一起, 使 sockfd 这个用于网络通讯的文件描述符监听 myaddr 所描述的地址和端口号; 参数: 前面讲过,struct sockaddr...port; int _listensockfd; bool _isruning; }; 与Udp服务器不同的是,Tcp服务要求我们先调用listen接口监听

    2.2K10

    linux下socket编程

    Socket soket接口是TCP/IP网络的API。网络的socket数据传输是一种特别的I/O,socket也是一种文档描述符。...常用的socket类型有:流式socket(SOCK_STREAM)、数据报socket(SOCK_DGRAM)....函数只用于面向连接的客户端程式,无连接和面向连接的服务器不需要,成功则返回0,失败返回-1     listen函数使socket处于被动的监听模式,并为该socket模式建立一个输入数据队列,将到达的服务请求保存在队列中...在建立好输入队列后,服务器调用accept函数,然后睡眠并等待客户端的连接唤醒 int accept(int sockfd, void *addr, int *addrlen)     sockfd:是被监听的...收到连接请求时,socket执行体将建立一个新的socket,执行体将这个新socket和请求连接进程的地址联系起来,收到服务请求的初始socket仍能够继续在以前的 socket上监听,同时能够在新的

    5.6K70

    Linux Socket 收发Json

    如果对你有帮助,麻烦点个在看或点个赞,感谢~ 不管是Qt开发还是linux 嵌入式应用开发,一个人的核心竞争力还是不断思考,也就是不断琢磨。...下面的程序主要是Linux C Socket 读取JSON文件并传输,然后再写入文件,其中使用了cJSON库,关于cJSON库不过多介绍,主要介绍整体的思路。 1....Server 端 使用的是socket 阻塞式,没有使用select、poll、epoll等 接收端按照JSON格式解析数据,并提取感兴趣Key所对应的Value 程序功能挺快就可以做好,做完之后进行拆解...,将socket通信独立出来,JSON解析、写文件、响应客户端JSON数据等分别写成函数。...小结 编译JSON时需要链接linux的数学库 自己琢磨如何拆解函数功能 应用程序也主要是调用别人的api,那么你的核心竞争力是什么呢 ? 如需程序工程可在公众号后台留言。

    6.2K20

    Linux系统下socket编程socket接口介绍(二)

    前言 在上一篇文章里面我们介绍了TCP的三次握手和四次挥手过程的介绍以及网络编程里面的一些api接口函数的介绍——Linux系统下socket编程之socket接口介绍(一)。...函数介绍 - 发送和接收 - (1)send和write: 首先说明的一点,之前介绍的socket这个函数,非常类似我们之前介绍的open函数,他们都会返回一下文件描述符;所以这里的send函数和write...函数作用类似,我们用man手册来查看它的具体形式和用法: #include #include socket.h> ssize_t send(int...(这个转换完后不能用于网络传输,还需要调用htons或htonl函数才能将主机字节顺序转化为网络字节顺序,这两个函数先不讲,实战遇到的话,再进行解析),具体可以看下面Linux的源文: inet_aton...(2)struct sockaddr,这个结构体是linux的网络编程接口中用来表示IP地址的 标准结构体,bind、connect等函数中都需要这个结构体,这个结构体是兼容IPV4和IPV6的。

    5.2K20

    oracle启动监听报错:The listener supports no services解决

    今天将NC6.5应用服务器和ORACLE 11g数据库服务器托管到中国移动机房,完成IP地址的更改和相关设置,启动ORACLE服务器并打开监听。...[root@web02 ~]# su - oracle   [oracle@web02 ~]$ lsnrctl start   出现如下错误提示信息: LSNRCTL for Linux: Version...----------------------   Alias                     LISTENER   Version                   TNSLSNR for Linux...ipc)(KEY=EXTPROC1521)))   The listener supports no services   The command completed successfully   这样启动后远程连接会报错... / as sysdba   显示服务名:   SQL>show parameter service_names   强制注册服务:   SQL>alter system register;   查看监听状态

    5K21
    领券