Linux网络编程--socket
1、socket的核心思想是,作为服务器间的进程间通信的最底层的实现,常用的大部分网络协议都是基于socket实现。
2、socket 是如何与最终的低层收发包建立联系的?
3、socket 是如何与VFS建立关系的?
4、TIPC与socket的关系。
5、Socket与EPOLL之间的关系
因为对于服务器端程序而言,可以同时接受很多客户端的socket连接,那么,必须实现并行处理的机制,常用的方法是多进程,也就是说,服务器端的socket一旦建立连接后,立即生成一个新的进程与客户端之间进行后续socket处理,原先的socket继续监听新的客户端请求,那么,此时就存在一个问题,那么多的客户端socket, 哪些有数据接收到了呢? 传统的方法是轮询,这个效率台低,于是使用epoll机制,只有在真正有数据待处理时才会产生事件。于是提高了处理效率。
二、socket编程举例:
1. windows socket, linux socket, python socket, linux shell socket编程。
windows socket编程
2. Linux shell socket编程举例
(1)字符串交互
服务器端: nc -l 1234 -----> 表示在本地的1234端口上启动socket监听。
客户端: nc 192.168.248.156 1234 ---> 表示连接到服务器的1234端口。
然后客户端在shell上输入的内容,就会显示在服务器端的shell 命令中,同理,服务器在shell中输入的内容会显示在客户端的shell中。
下面是服务器端的命令:
在客户端上,输入如下命令:
(2)传文件
与上述服务器端类似,把服务器端和shell重定向相结合,将接收到的内容保存到文件,而客户端直接发送一个文件,即可完成文件的传输。
下面是客户端程序:
转载于:https://www.cnblogs.com/zhouhaibing/p/7669278.html
Linux网络编程--socket相关推荐
- Linux 网络编程——socket 网络编程
文章目录 一.网络基础 TCP/UDP对比 TCP/IP协议族体系 socket IP地址 IP地址转化API inet_addr() inet_aton() inet_ntoa() inet_pto ...
- Linux网络编程——socket、bind、listen、accpet、connect、read和write
Linux网络编程 基础理论 1.TCP/UDP/端口号 2.字节序 一.socket服务器与客户端的开发步骤 二.具体使用步骤 1.socket(创建连接协议) 2.bind(地址准备好) 3.li ...
- Linux网络编程(Socket)
目录 网络编程(Socket)概述 引入 网络编程通识扫盲 socket套接字 套接字描述符 字节序 socket编程步骤 Linux提供的API简析 创建套接字即连接协议[socket](服.客) ...
- 27.Linux网络编程socket变成 tcp 高并发 线程池 udp
好,咱们开始上课了,从今天开始咱们连续讲 8 天的,网络编程这个还是在linux环境下去讲,咱们先看一下咱们这 8 天都讲什么东西,跟大家一块来梳理一下,你先有个大概的印象,这些你也不要记,那么网络编 ...
- Linux网络编程——socket编程
一.socket socket 网络套接字一个文件文件描述符指向一个套接字(该套接字内部由内核借助两个缓冲区实现(接收缓冲区和发送缓冲区))通讯过程中,套接字一定是 [成对] 出现的. 二.网络字节序 ...
- linux网络编程socket,Linux网络编程入门
socket又叫做套接字,网络编程又叫做套接字编程.而socket地址也称为套接字地址,可以理解为计算机的网络地址. 1.理解socket地址 假设小明同学想给女神打电话需要知道对方的电话号码才能继续 ...
- Linux网络编程 | Socket编程(一):Socket的介绍、UDPSocket的封装、UDP服务器/客户端的实现
目录 套接字编程 Sockaddr结构 字节序 地址转换 常用套接字接口 UDP的通信流程 UDPSocket的封装 UDP服务器 UDP客户端 套接字编程 所谓套接字(Socket),就是对网络中不 ...
- Linux网络编程 | socket选项设定 及 网络信息API
文章目录 读取和设置 socket 选项 SO_REUSEADDR SO_RCVBUF 和 SO_SNDBUF SO_RCVLOWAT 和 SO_SNDLOWAT SO_LINGER 选项 网络信息A ...
- Linux 网络编程socket错误分析
socket错误码: EINTR: 4 阻塞的操作被取消阻塞的调用打断.如设置了发送接收超时,就会遇到这种错误. 只能针对阻塞模式的socket.读,写阻塞的socket时,-1返回,错误号为INTR ...
- [Linux网络编程]Socket套接字
socket 的原意是"插座",在计算机通信领域,socket 被翻译为"套接字",它是计算机之间进行通信的一种约定或一种方式. 通过 socket 这 ...
最新文章
- 使用man在线手册页
- 一个几何不等式的最佳常数
- adb提取安装的apk
- leader选举的原理
- centos mysql 新增用户
- Zoom Host可以真正看到您的所有私人消息吗?
- 使用React hooks,些许又多了不少摸鱼时间
- hbase java client 简介_hbase Java client(Release 1.0)
- lpop 原子_从夸克到原子,到元素周期表
- 2019最受欢迎语言_2019年100最受欢迎的免费在线课程
- PLC可编程控制器实验
- 技术管理之巅-如何从零打造高质效互联网技术团队?
- delphi fastreport4 安装
- 计算电压电流看一下大家可以解出来吗?
- caffe学习系列:训练自己的图片集(超详细教程)
- 超微服务器安装操作系统,超微服务器bios设置
- 生物信息学算法之Python实现|Rosalind刷题笔记:013 随机DNA序列
- 谷歌JsonObject
- mysql引擎与优化
- 深度学习入门笔记(三):求导和计算图
热门文章
- java注释html警告,Javadoc中允许的HTML标记
- 广州元宇宙10条(附pdf下载地址)
- Failed to connect to Etherscan API at url https://api-rinkeby.etherscan.io/api
- 区块链 交易怎么验证是否被篡改 SPV验证
- kubernetes Ingress是什么
- SpringBoot学习(一)初识SpringBoot、第一个SpringBoot程序
- pythonexcel怎么合并_Python把多个Excel合并成一个Excel
- react刷新页面_【跟着官网学React】Hello World
- html中radio实现互斥
- Happy Week