E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
linux网络编程
linux网络编程
之用select方法实现io复用(基于udp)
1、基本概念IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:(1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。(2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。(3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。(4)如果一个服务器即要处理TCP
chen.yu
·
2020-08-24 16:41
Linux
网络编程
开发网络程序的调试方法
这几天在看
Linux网络编程
,发现一个比较有用的东西,现在和大家分享一下:技巧:如果你自己写了一个Server和Client,但是Client却无法连上Server而你又不知道究竟是哪个有问题的时候,你可以使用系统的工具
郁闷阳光
·
2020-08-24 15:49
C++/网络
学习socket通信总结(一)
最近一直在用linux,很早就想学习
linux网络编程
。今天刚好抽出一段时间,学习了简单的socket通信,写了一个简单的客户端/服务器通信代码。现在将今天学习的内容做一个总结。
hioaf
·
2020-08-24 14:40
c语言
Winidow与
Linux网络编程
区别
简单分析Windows下与Linux下编写socket程序的区别Windows下与Linux下编写socket程序的区别【【Windows】】【Windows:头文件的区别】#include#include【Windows:初始化的区别】WSADATAwsaData;WSAStartup(0x202,&wsaData);【Windows:声明Socket】SOCKET类型【Windows:Sock
chenhaojin
·
2020-08-24 13:56
linux
Linux网络编程
今天是6.2号,到6.14号需要提交《中期检查报告》、《学术报告》,现在论文需要大修,至少6.15中期答辩后再次提交,怎么也要在赶在6.24号入职之前定稿投出去。先修改小论文、修改《中期检查报告》,再写《学术报告》,最后制作PPT,一件一件事情搞吧......痛苦啊......抽着时间把这篇论文补一下吧...几个名词的说明:协议:通常指某一个协议,一般由某一个或者一组文件如rfc/draft来指定
Utotao
·
2020-08-24 13:45
Linux
C及Shell编程
Linux操作
MeowLovemoeclub后台运行TmuxScreen`nohup``setsid``supervisor`传输文件scprsync性能测试网卡MTUflagLinux手册http://www.linuxbaike.com
Linux
www.bajins.com
·
2020-08-23 22:23
shell
linux
Linux下C实现通过域名得到IP
一直想学
Linux网络编程
并且固执的要用c来写认为这样才是最纯正牛x的结果c写网络太难了.....我想实现一个http的简单的get操作居然没有找到一个例子气死我了Linux下的学习资料太少那我就来补充吧
zuopai
·
2020-08-23 22:19
Linux网络编程
linux之自己总结学习linux的资源推荐
1、学习linux前辈的网站安卓和
linux网络编程
http://www.cnblogs.com/hnrainll/IBM学习linux技术地址:https://www.ibm.com/developerworks
chen.yu
·
2020-08-23 19:43
Linux/Unix积累
linux网络编程
(一)
Linux网络编程
--网络知识介绍
Linux网络编程
--网络知识介绍客户端和服务端网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.客户端在网络程序中,如果一个程序主动和外面的程序通信
thank55789
·
2020-08-23 19:48
C语言基础
【
Linux网络编程
】TCP select聊天程序
实现目标【1】创建TCP服务器和客户端,实现简易聊天程序;【2】单一进程,通过I/O复用select函数实现;【3】客户端/服务器任一结束,结束连接和对方进程。select函数 Linux系统中I/O复用实现方式有selece()、poll()、epoll()。I/O复用可以使单一进程可以同时监听多个文件描述符(句柄)事件的发生,而不用建立多个进程,在特殊情况下可以节约系统资源,但牺牲一定的效率
Acuity.
·
2020-08-23 18:27
C
linux网络编程
Linux应用编程
Linux网络编程
一步一步学-异步通讯聊天程序select
什么是异步通讯?就是通讯任意一方可以任意发送消息,有消息来到时会收到系统提示去接收消息。这里要用到select函数。使用步骤如下:1、设置一个集合变量,用来存放所有要判断的句柄(filedescriptors:即我们建立的每个socket、用open打开的每个文件等)2、把需要判断的句柄加入到集合里3、设置判断时间4、开始等待,即select5、如果在设定的时间内有任何句柄状态变化了就马上返回,并
hongjiujing
·
2020-08-23 17:41
linux通过域名获取主机信息
参考《
linux网络编程
》宋敬彬孙海滨著通过域名获取主机信息的方法很简单,用函数gethostbyname()就可以。
fantasylf
·
2020-08-23 16:01
linux
程序设计
Android(客户端)与Linux(服务器端)进行TCP数据通信
最近,做项目需要使用Android(客户端)与Linux(服务器端)进行数据通信,这学期也刚好学习了
Linux网络编程
的一些知识。所以,实现了一个小Demo,供有需要的朋友参考一下。
_Programmer_
·
2020-08-23 11:38
Android
Linux
Linux网络编程
之socket:使用select函数实现并发处理
一、当我们使用单进程单连接且使用read的客户端程序,去连接服务器端程序,会出现一个有趣的现象,先来看输出:先运行服务器端,再运行客户端。可以先查看一下网络状态。可以看出建立了连接,服务器端有两个进程,一个父进程处于监听状态,另一子进程正在对客户端进行服务。再ps出服务器端的子进程,并kill掉它,再查看一下网络状态。我们将server子进程kill掉,则其终止时,socket描述符会自动关闭并发
Mr_weng_
·
2020-08-23 07:21
Linux与网络通信
linux网络编程
之socket(九):使用select函数改进客户端/服务器端程序
一、当我们使用单进程单连接且使用readline修改后的客户端程序,去连接使用readline修改后的服务器端程序,会出现一个有趣的现象,先来看输出:先运行服务器端,再运行客户端,simba@ubuntu:~/Documents/code/linux_programming/UNP/socket$./echoser_recv_peekrecvconnectip=127.0.0.1port=5400
s1mba
·
2020-08-23 04:11
linux
环境网络编程
select
并发
Linux网络编程
--recv函数返回值详解
recv函数intrecv(SOCKETs,charFAR*buf,intlen,intflags);不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符;第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;第三个参数指明buf的长度;第四个参数一般置0。这里只描述同步Socket的recv函数的执行流程。当应用程序调用
奔跑吧,行者
·
2020-08-23 02:56
网络编程
socket
linux
recv
Linux网络编程
之IO模型
本文基于IO访问中存在的两个阶段详细介绍了Linux产生的五种IO模型。上篇文章回顾:小米开源监控Open-Falcon收录汽车之家贡献的Win版Agent同步与异步同步是指一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成。异步是指不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了,异步一般使
weixin_33913332
·
2020-08-23 00:37
Linux网络编程
--IO模型基础
IO的方式有阻塞IO、非阻塞IO模型、IO复用、信号驱动、异步IO等,本文以UDP为例大概介绍这几种IO模型的基础知识和原理。1.阻塞IO阻塞IO是最通用的IO类型,使用这种模型进行数据接收的时候,在数据没有到之前程序会一直等待。2.非阻塞IO模型3.IO复用4.信号驱动IO模型5.异步IO模型
奔跑吧,行者
·
2020-08-23 00:52
Linux网络编程
Linux网络编程
---深刻理解5种基本IO模型
Linux五种IO模型理解这五种I/O模型之前,我们得先清楚一个IO事件发生,它会经历哪些步骤:对于一个网络IO(networkIO)(这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process(orthread),另一个就是系统内核(kernel)。当一个read操作发生时,它会经历两个阶段:1等待数据准备(Waitingforthedatatobeready)2将数据
shanghx_123
·
2020-08-23 00:14
Linux
Linux网络编程
Linux网络编程
(一)基本原理
(一)网络模型与协议大多数网络模型按层(layer)的方式来组织以减少协议设计的复杂性。在分层网络模型中,每一层都为上一层提供一定的服务,而将如何实现本层服务的细节对上一层加以屏蔽(在初期的学习项目过程中,也不应该拘泥于细节)。上层只知道下层提供了什么功能以及对应功能的接口,而不关心下层是如何实现这些功能。分层的思想也是设计大型软件的一种重要思想,有些操作系统就是基于分层的思想设计和实现的。为确保
GNUC
·
2020-08-22 22:46
Linux网络编程
入门
服务器端:(1)服务器端开始建立socket描述符;(socket)(2)捆绑sockfd描述符;(bind)bind将本地的端口同socket返回的文件描述符捆绑在一起.成功是返回0,失败的情况和socket一样(3)监听sockfd描述符;(listen)listen函数将bind的文件描述符变为监听套接字.返回的情况和bind一样.(4)服务器阻塞,直到客户程序建立连接;(accept)ac
xlm289348
·
2020-08-22 20:44
linux
linux信号捕捉和sigaction函数和sigqueue函数
关于学习linux系统编程的一定想法学习linux系统编程其实就是学习一对API函数,掌握一些进程线程网络的概念,为linux服务器编程和
linux网络编程
打基础。
J-zin
·
2020-08-22 11:56
linux
Linux网络编程
之 无连接和有连接通信(二)
目录1.无连接和有连接通信的区别2.有连接和无连接通信的实现无连接和有连接通信的区别使用无连接协议就像寄信,而使用面向连接的协议就像打电话。无连接协议中的分组被称为数据报(datagram),每个分组都是独立寻址,并由应用程序发送的。从协议的角度来看,每个数据报都是一个独立的实体,与在两个相同的对等实体之间传送的任何其他数据报都没有关系,这就意味着协议很可能是不可靠的。也就是说,网络会尽最大努力传
HryReal
·
2020-08-21 20:34
Linux网络编程
Linux网络编程
有连接和无连接
linux网络编程
no route to host 解决方案
参考资料http://1413570.blog.51cto.com/1403570/792861http://2614223.blog.51cto.com/2604223/764757在vmvare里面配了两台mysql,发现用mysql连不上mysql服务器,用telnet登录mysql的3306端口,发现居然是noroutetohost;[zhoulei@localhost~]$telnet1
蓝色水
·
2020-08-21 20:11
Linux(CentOS)
Linux详细知识图谱
整个Linux学习框架分为三大部分1.常见命令、常用工具2.Linux系统编程3.
Linux网络编程
如下图所示是整个Linux知识思维导图:如果图片看不清,可以找我要原图哦!
风尘与云
·
2020-08-21 11:54
树莓派之
linux网络编程
:socket非阻塞模式实现,方便调试PID
最近开始左pid调节了,多环串级PID,总共6个参数,每次都要改参数,重新启动太麻烦,于是计划用pythonGUI编程结合socket通信,做一个假单多pid调节。花了几天时间,功能实现了,虽然bug还不少,能用了。界面很简单,里面用到了python,tkinter,socket,多线程等库。由于socket默认是阻塞多,这里需要做成非阻塞的形式,才不至于等待数据多接收而等待,这样程序没有意义了。
好玩的树莓派实验室
·
2020-08-21 06:30
树梅派
linux
Linux网络编程
-- Linux常用工具的使用(vim、gcc、gdb、makefile、shell)
一.vim编辑器vim三种模式:1.命令行模式vim打开文件,就是命令行模式命令行模式指令:x:删除一个字符nx:删除n个字符dd:删除(剪切)一行ndd:删除(剪切)n行yy:复制一行nyy:复制n行p:粘贴shift+g:跳到最后一行gg:跳到第一行*:查找光标所在的字符串n:查找下一个u:撤销shift+zz:保存退出2.底行模式在命令行模式下,按:进入底行模式底行模式指令:w:保存q:退出
魏书园
·
2020-08-21 05:23
Linux网络编程
-- 余弦曲线、正弦曲线及圆的绘制
1.绘制余弦曲线在屏幕上用“*”显示0°~360°的余弦函数cos(x)曲线。代码如下:#include"stdio.h"#include"math.h"intmain(){doubley;intm,x;for(y=1;y>=-1;y-=0.1){m=acos(y)*10;for(x=1;x#includeintmain(){doubley;intm;intx;for(y=1;y>0;y-=0.1
魏书园
·
2020-08-21 05:23
Linux网络编程
-- Linux常用命令
Linux常用命令一.用户管理类1.添加用户useradd+用户名2.删除用户userdel+用户名userdel-r+用户名(包括家目录)3.设置密码passwd+用户名4.切换用户su+用户名(默认是root)5.退出exit(返回上一层用户)6.查看用户cat/etc/passwd二.显示目录内容1.ls显示当前目录的内容2.ls-l显示当前目录的详细信息3.ls-a显示当前目录的所有内容(
魏书园
·
2020-08-21 05:22
Linux网络编程
-- 绘制交叉曲线(余弦和直线、正弦和余弦、圆和抛物线)
绘制余弦曲线和直线在屏幕上显示0°~360°的cos(x)曲线与直线f(x)=45*(y-1)+31的叠加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形的交点处则用f(x)图形的符号。代码如下:#include"stdio.h"#include"math.h"intmain(){doubley;intm,n,x,yy;for(yy=0;yy#includeintmain(
魏书园
·
2020-08-21 02:56
研究一下 fork 的原理,并且还有 vfork 的一些使用场景
本文地址:https://segmentfault.com/a/1190000010411198Reference:
linux网络编程
之soc
amc
·
2020-08-20 20:01
c
服务器
进程
fork
linux
研究一下 fork 的原理,并且还有 vfork 的一些使用场景
本文地址:https://segmentfault.com/a/1190000010411198Reference:
linux网络编程
之soc
amc
·
2020-08-20 20:00
c
服务器
进程
fork
linux
epoll使用详解
在
Linux网络编程
当中,很长时间都是使用select来做事件的触发,而在新的linux内核当中,有一种替换他的机制,就是epoll()//#include。
Joe_HUST
·
2020-08-20 20:18
Linux编程:TCP编程基础
参考书:《
Linux网络编程
(第2版)》,宋敬彬等编著。
AmberXiao
·
2020-08-20 19:41
【2018深信服 醒狮计划】《Linux应用编程》学习笔记
2018深信服“醒狮计划”笔记第4~5周(5.14-5.27)课程必修选修基本要求Linux应用编程《
Linux网络编程
卷一》《
Linux网络编程
卷二》《《Linux4.0设备驱动开发详解》主要熟练掌握
中国男人的骄傲
·
2020-08-20 16:02
Linux
TCP/IP调用accept报错:Segmentation fault (core dumped) 。。。解决方法
Linux网络编程
之Tcp(内含服务器、客户端代码实例)https://blog.csdn.net/QQ1402369668/article/details/86090092运行上述事例代码,服务端在accept
yrnaaa
·
2020-08-20 14:09
网络编程
Linux网络编程
,bind:error:Cannot assign requested address,Ubuntu网络桥接
一:问题:刚开始学习
Linux网络编程
,第一次使用bind函数出现Cannotassignrequestedaddress,错误。在网上找了很多帖子但是都没有解决。
想扣篮的程序员
·
2020-08-20 14:50
linux
网络
嵌入式
linux网络编程
之tcp的三次握手和四次挥手
一.tcp协议的通信tcp的通信过程分为三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道下图为tcp的通信过程示意图:建立tcp连接通道:三次握手断开tcp连接通道:四次挥手二.详解三次握手和四次挥手三次握手建立连接:第一次握手:客户端发送tcp报文到服务器,其中syn标志位1,seq=x(x为A的初始序列号,随机数),然后启动计时器,等待接收服务器的应答。该报文段成为SYN报文段,不携
someday1314
·
2020-08-20 08:27
linux
网络编程
tcp三次握手
tcp四次握手
QT开发之IP协议
IP协议就不讲了,以前在
Linux网络编程
这一块讲的非常清楚了,这篇文章只是一个演示怎么在QT中去使用库函数来运用IP相关的操作.新建QtGui应用项目,名称为myIP,其他类保持默认,在工程文件中添加
HeroKern
·
2020-08-20 06:06
QT
linux网络编程
中阻塞和非阻塞socket的区别
原文:http://blog.sina.com.cn/s/blog_4b029ef30100nxcb.html阻塞socket和非阻塞socket读操作对于阻塞的socket,当socket的接收缓冲区中没有数据时,read调用会一直阻塞住,直到有数据到来才返回。当socket缓冲区中的数据量小于期望读取的数据量时,返回实际读取的字节数。当sockt的接收缓冲区中的数据大于期望读取的字节数时,读取
liuhuahan
·
2020-08-20 06:10
C语言
Linux应用
嵌入式软件开发培训笔记——
Linux网络编程
及I/O模型
一、基础知识1、网络体系结构(协议模型)协议模型的特点OSI和TCP/IP协议模型2、TCP/IP协议模型分层介绍以及各层提供的主要功能每一层的典型协议3、TCP/IP的通信模型数据的打包和解包数据在网络节点之间的流动4、TCP和UDP协议TCPUDP(可靠性的概念)二、基于TCP/IP的编程1、发送端:数据打包2、接收端:数据解包3、TCP/IP协议通信模型4、TCP/IP结构5、IP地址分类6
csdn85391440
·
2020-08-19 23:09
linux网络编程
linux网络编程
中协议簇AF_和PF_的区别
在socket.h文件中有对协议簇的宏定义,如下:/*Protocolfamilies,sameasaddressfamilies.*/#definePF_UNSPECAF_UNSPEC#definePF_UNIXAF_UNIX#definePF_LOCALAF_LOCAL#definePF_INETAF_INET#definePF_AX25AF_AX25#definePF_IPXAF_IPX
The_perfect_world
·
2020-08-19 23:48
UNIX环境高级编程
linux
[物联网]NB-IOT(RDA8909) udp收发数据
熟悉
linux网络编程
的应该对这个很熟悉了,直接上代码ing:#include"..."
slimmm
·
2020-08-19 07:28
NB-IOT
《Linux高性能服务器编程》学习笔记——第五章
Linux网络编程
基础API(2)
现在学习
Linux网络编程
基础API第二个部分,socket编程的基础操作API。二、socket基础API1、创建socketlinux中一切皆文件,socket是可读可写可控制可关闭的文件描述符。
爱很遥远
·
2020-08-18 23:26
互联网-网络编程
Linux网络编程
基础API【socket】
文章目录创建socket命名socket监听socket接受连接发起连接关闭连接代码示例创建socketlinux的思想是一切东西皆为文件,socket也不例外,他就是个可读可写可控制可关闭的文件描述符。接下来我们看看如何创建一个socket。#include#includeintsockfd=socket(intdomain,inttype,intprotocol);//创建套接字assert(
♚ Lebron James ♚
·
2020-08-18 23:04
网络编程
linux
Linux网络编程
IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结
知识背景:210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式。英语叫做IPv4numbers-and-dotsnotation。如果把210.25.132.181转换为整数形式,是3524887733,这个就是整数形式的IP地址。英语叫做binarydata。(其实binary是二进制的意思)详细介绍,请参考:网络字节序与主机字节序的转换问题所在:如何在字符串形式的IP和
阳光岛主
·
2020-08-18 22:36
NetWork
Linux/Shell
linux网络编程
1 最简单的socket编程
下面是socket编程的服务器端先看一个图,1复制代码1#include2#include3#include4#include//针对系统调用的封装fork,pipe各种i/o原语readwrite等56#include7#include//互联网地址族定义数据结构sockaddr_in8#include//提供IP地址转换函数910#include//一批C语言字符分类函数用于测试字符是否属于特
0x6g1k8T
·
2020-08-18 22:16
Linux网络编程
基础API--socket地址API
1.主机字节序和网络字节序1.1大小端原理 网络通信使得数据从一个主机传递到另一个主机。然而在不同的的处理器在管理内存单元上的数据时,对需要存放在多个内存单元地址的某一数据的处理方式不尽相同,因此对数据的解析结果也不同。目前处理器数据处理类型有大端和小端两种方式。小端(Little-endian)模式:操作数的存放方式为高地址存放高字节。大端(Big-endian)模式:操作数的存放方式为高地址
mybright_
·
2020-08-18 21:30
Linux系统/网络编程
Linux编程
Linux网络编程
--struct hostent结构体
使用这个东西,首先要包含2个头文件:#include#includestructhostent*gethostbyname(constchar*name);这个函数的传入值是域名或者主机名,例如"www.google.com.tw","wpc"等等。传出值,是一个hostent的结构(如下)。如果函数调用失败,将返回NULL。structhostent{char*h_name;char**h_al
iteye_12675
·
2020-08-18 20:39
操作系统
Linux网络编程
基础API--TCP的数据读写API
《Linux高性能服务器编程》阅读笔记:1.TCP通信的读写(收发)接口 因为”Linux系统上”一切皆是文件”,那么自然读写文件用的APIread()/write()同样适用于socket。不过Linux还提供了几个专门用于socket数据读写的系统调用。#include#includessize_trecv(intsockfd,void*buf,size_tlen,intflags);ssi
mybright_
·
2020-08-18 19:24
Linux系统/网络编程
Linux编程
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他