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网络编程
——网络高级编程
在实际情况中,人们往往遇到多个客户端连接服务端的情况。由于connect()、recv()和send()等都是阻塞性函数,如果资源没有准备好,则调用该函数的进程将进入睡眠状态,这样就无法处理I/O多路复用的情况。以下给出两个解决办法:1.fcntl()(1)fcntl()回顾:fcntl()函数语法要点所需头文件#include#include#include函数原型intfcntl(intfd,
JIWilliams
·
2020-07-14 16:56
Linux
Linux 套接字编程中 bind 错误:bind fail:Address already in use 解决方法
最近在学
Linux网络编程
,调试TCP并发服务器时遇到一个问题,当我连接上一个或多个客户端后,用CTRL+C关闭进程后,重新打开进程就发生错误了:bindfail:Addressalreadyinuse
张小小飞
·
2020-07-14 04:46
Linux
Linux高级网络编程系列教程
一、网络应用层编程1、
Linux网络编程
01——网络协议入门2、
Linux网络编程
02——无连接和面向连接的区别3、
Linux网络编程
03——字节序和地址转换4、
Linux网络编程
04——套接字5、
Linux
lianghe_work
·
2020-07-14 01:59
Linux_高级网络编程
linux网络编程
之udp的connect趣谈
对于
linux网络编程
,UDP协议不是面向连接的协议,直接把数据报发送到链路层,至于能不能到达目的IP和端口,它不关注;大部分时候再编写代码时候只需要在sendto函数中指定你要发送的端口和IP地址就可以了
奔跑中的老男孩
·
2020-07-13 22:13
网络编程
掌握socket网络编程需要学习哪些基础知识
来源链接:https://blog.csdn.net/qq_36958285/article/details/84672346
Linux网络编程
篇(一)之Socket编程预备知识一.客户机/服务器模型二
李昊19961128
·
2020-07-13 20:48
socket网络编程
Linux网络编程
1:socket套接字入门
写一个时间上最简单的客户端和服务器:由客户端发一条数据,服务器接收在将数据打印出来原理客户端/发送端必须指定连接/发送的IP(广播地址、回环地址或者某个具体地址)。必须指定连接/发送的port。服务器/接受端IP指定为通配地址、回环地址或者某个具体地址。必须指定绑定监听/接受的port。TCP客户端和服务器通信原理如图所示,先放代码://文件tcp_client.c#include#include
三桂sg
·
2020-07-13 20:55
Socket
Linux网络编程
之TCP、UDP服务器
网络编程网络编程作用在于,用来跨主机,远距离的数据通信。网络编程离不开:套接字:socket(网络程序的编程接口)IP:互联网中主机的唯一标识特殊IP:回路IP127.0.0.1所有IP:INADDR_ANY(0.0.0.0)端口:用于表示网络数据由那个程序来接受处理网络字节序:用于避免不同主机由于数据存储方式不同而造成数据解析不一致,网络字节序规定,左右的主机以大端的方式来存储数据。UDP服务器
隔壁老汪-大怪
·
2020-07-13 20:34
Linux
Linux 网络编程 全解(二)--------套接字socket
欢迎大家共同学习,QQ:993650814.
Linux网络编程
全解(一)--------网络基础协议正文:一、套接字概念socket本身有“插座”的意思,
KiranWang
·
2020-07-13 19:36
Linux网络编程
linux网络编程
:用C语言实现的聊天程序(异步通信)
本片文章,在上一篇:
linux网络编程
:用C语言实现的聊天程序(同步通信)的基础上,增加了IO复用的功能,实现了聊天程序的异步通讯!
weixin_34037977
·
2020-07-13 18:51
Linux网络编程
系列二:套接字接口
套接字接口(socketinterface)是一组函数,和其他系统函数结合起来用于创建网络应用,下图给出了典型的客户端-服务器事务的上下文中的套接字接口描述:大多数现代操作系统上都实现了同一套套接字接口,适用于任何底层的协议。套接字地址结构因特网的套接字地址存放在如下的sockaddr_in的16字节结构中,其中的IP地址和端口号总是以网络字节顺序(大端法)存放的。#include//包含了str
weixin_30439067
·
2020-07-13 17:36
linux网络编程
(8)UDP编程模型与数据收发系统调用
UDP编程模型比较TCP编程模型,UDP编程模型中服务器端不需要listen和accept,而是通过readfrom阻塞等待用户请求,UDP编程模型中的客户端不再需要connect服务器,只需要bind套接字与IP即可,当然bind也不是必须要有的。UDP编程步骤1、服务器:1)在内核中创建结构体structsocket2)用户空间中创建地址结构体structsockaddr_in3)往地址结构体
洪流之源
·
2020-07-13 16:48
c/c++
linux
网络编程
linux网络编程
之:UDP数据包格式
UDP数据报格式有首部和数据两个部分。首部很简单,共8字节。包括:◆源端口(SourcePort):2字节,源端口号。◆目的端口(DestinationPort):2字节,目的端口号。◆长度(Length):2字节,UDP用户数据报的总长度,以字节为单位。◆检验和(Checksum):2字节,用于校验UDP数据报的数字段和包含UDP数据报首部的“伪首部”。其校验方法同IP分组首部中的首部校验和。伪
过往记忆
·
2020-07-13 16:32
Linux
Program
linux网络编程
之套接字(套接口)、ip、端口理解
1、套接字、ip、端口介绍1)、套接字源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。它是网络通信过程中端点的抽象表示,包含进行网络通信必需的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。或者说,套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通
chen.yu
·
2020-07-13 14:49
Linux
网络编程
linux网络编程
之SCTP协议
1、SCTP协议的介绍SCTP(StreamControlTransmissionProtocol,流量控制传输协议)是IETF(InternetEngineeringTaskForce,因特网工程任务组)在2000年定义的一个传输层(TransportLayer)协议,是提供基于不可靠传输业务的协议之上的可靠的数据报传输协议,SCTP协议是众多网络通信协议中的一种,为更好的理解SCTP协议,我们
chen.yu
·
2020-07-13 14:17
Linux
网络编程
UDP&TCP Linux网络应用编程详解
2.
Linux网络编程
基础2.1嵌套字多个TCP连接或者多个应用程序进程可能需要同一个TCP端口传输数据。为了区分不同应用程序进程和连接,许多计算机
韦东山
·
2020-07-13 14:59
应用编程
Linux网络编程
:原始套接字的魔力
基于原始套接字编程在开发面向连接的TCP和面向无连接的UDP程序时,我们所关心的核心问题在于数据收发层面,数据的传输特性由TCP或UDP来保证:也就是说,对于TCP或UDP的程序开发,焦点在Data字段,我们没法直接对TCP或UDP头部字段进行赤裸裸的修改,当然还有IP头。换句话说,我们对它们头部操作的空间非常受限,只能使用它们已经开放给我们的诸如源、目的IP,源、目的端口等等。今天我们讨论一下原
stone8761
·
2020-07-13 13:19
Linux编程
Linux网络编程
(二)—— OSI七层与TCP/IP四层网络架构详解
OSI七层模型OSI是OpenSystemInterconnect的缩写,意为开放式系统互联。OSI参考模型分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。物理层:涉及在信道上传输的原始比特流。数据链路层:的主要任务是加强物理层传输原始比特流的功能,使之对应的网络层显现为一条无错线路。发送包把输入数据封装在数据帧,按顺序传送出去并处理接收方回送的确认帧。网络层:关系到子网的运行控制
Thanos Yan
·
2020-07-13 12:52
网络通信
linux网络编程
linux网络编程
——聊天室总结
说在前面暑假留校的主要任务是学习linux下的c语言编程,之前写了my_ls,my_shell这两个可以说是练手的小项目,而最后的项目聊天室也是花了自己快两周的时间,说实话第一次写这种(对自己而言)大项目,最深刻的体会就是整体的架构很重要,很重要,很重要…项目概述Linux环境下的简易聊天室,采用C/S模型,实现多客户端之间的稳定数据传输。功能登陆注册账号,登陆时密码不会显好友管理a.查看好友列表
指关节
·
2020-07-13 12:22
Linux
Linux网络编程
----本地套接字
本地套接字与网络套接字的区别:1.网络套接字是通过绑定ip和端口使网络中的进程之间进行通信,而本地套接字是绑定套接字文件的路径名来使单机中的进程间通信,是一种IPC机制,其存储地址结构的数据类型为structsockaddr_un,该数据类型包含在#include头文件中#defineUNIX_PATH_MAX108structsockaddr_un{sa_family_tsun_family;/
城南花已开.jpg
·
2020-07-13 11:16
linux网络编程
Linux网络编程
【一】:TCP socket套接字详解
1.socketsocket这个词可以表示很多概念:在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socketpair就唯一标识一个连接。socket本身有“插座”的意思,因此用来描述网络连接的一对一关系。2.网络字节序发送主机
Jaee
·
2020-07-13 10:20
计算机网络
Linux
Linux网络编程
之UDP协议(一版)
最近正在学习网络编程,用UDP来实现服务器端和客户端的收发的简单通信。由于是第一版,所以写的比较粗糙,很多地方都有要改进的地方。例如:包裹函数,把客户端和服务器端共同都包括的头文件,宏都写在一个公共头文件里等等。以后有时间会继续改进。首先编写服务器端的程序ser_udp.c#include#include#include#include#include#includeintmain(){intso
C++有点难
·
2020-07-13 10:47
Linux
C++函数参数中&和*的意义
写这篇博文的动机是,在看
Linux网络编程
时,看到//bind函数定义intbind(intsockfd,conststructsockaddr*addr,socklen_taddrlen);//函数调用
潇湘夜雨~
·
2020-07-13 10:19
C/C++
linux网络编程
篇-TCP UDP编程实战
OSI七层网络模型:1.物理层:通过硬件设备将模拟信号转换为数字信号,于是有了0/1的数据流,叫做bit流2.数据链路层:可以发比特流但是没有格式就会乱七八糟,于是就有了”帧”。采用了一种”帧”的数据块进行传输,为了确保数据通信的准确,实现数据有效的差错控制,加入了检错等功能3.网络层:前两层都是在于可以发数据,以及发的数据是否正确,然而如果连着两台电脑还行,多台电脑而又只想让其中一台可以通信,则
Mark wyz
·
2020-07-13 10:14
linux网络编程
Linux网络编程
之 UDP编程(六)
目录1.UDP客户端核心函数完整的UDP客户端程序2.UDP服务端核心函数完整的UDP客户端程序3.总结1.UDP客户端核心函数ssize_tsendto(intsockfd,constvoid*buf,size_tnbytes,intflags,socklen_taddrlen);sockfd:套接字buf:发送数据缓冲区nbytes:发送数据缓冲区的大小flags:一般为0to:指向目的主机地
HryReal
·
2020-07-13 10:41
Linux网络编程
【
Linux网络编程
】基本 TCP 套接字编程
【
Linux网络编程
】基本TCP套接字编程【1】基本TCP客户/服务器程序套接字执行流程客户端的角度总结TCP客户/服务器服务器的角度总结TCP客户/服务器【2】SOCKET程序设计常见常数说明FAMILY
奋斗企鹅copper
·
2020-07-13 09:16
网络编程
linux网络编程
1.UDP简称:用户数据报协议原理:数据报协议的特点用一句话来形容就是他不够安全,他不关心数据是否被接收,只要指定IP地址就发送,不关心,数据会因为局域网或者广域网因为各种原因造成的丢包,数据排序等数据发送变化等结果,而且不同于TCP的一点是每次UDP传输数据的时候会将数据的长度一并发送。2.TCP简称:传输控制协议原理:它相对于UDP来说要安全很多,因为他有一个握手协议,每次传输之前都要进行三次
由仔誉
·
2020-07-13 09:18
linux网络编程
linux网络编程
值,如何擦屁股
1.在处理并发服务器的时候发现了一个问题,就说在使用创建子进程的方法的时候如果在客户端退出后,但是服务器端的子进程变成了僵死进程,这就尴尬了,讲道理是当进行四次挥手以后程序退出,但是为什么会编程僵死进程呢,就是当子进程退出以后,他会给父进程发送一个SIGCHLD的信号,父进程并没有捕捉他,没有处理,所以子进程就编程了僵死进程。2,处理方法,就是在linux中,每一个信号都有与之相关联的处理方法,就
由仔誉
·
2020-07-13 09:20
linux网络编程
linux网络编程
1.IP协议簇通常使用的是IPV4和IPV6,但是网络中还存在别的协议簇unix域协议,路由套接字密匙套接字。2.bind函数,就是绑定也就是说服务器端将端口和地址绑定到套接字上,事实上所谓的套接字编程就是说将将所有应用层一下的所需要的参数绑定到套接字上,然后我们操作的函数都是这个套接字3.listen函数;监听4.accept这个等待连接,也就是说等待客户端进行connet,一旦有客户端连接就进
由仔誉
·
2020-07-13 09:50
linux网络编程
10.
Linux网络编程
-POSIX消息队列
一:posix消息队列消息队列可以认为是一个消息链表,某个进程往一个消息队列中写入消息之前,不需要另外某个进程在该队列上等待消息的达到,这一点与管道和FIFO相反。Posix消息队列与SystemV消息队列的区别如下:1)对Posix消息队列的读总是返回最高优先级的最早消息,对SystemV消息队列的读则可以返回任意指定优先级的消息;2)当往一个空队列放置一个消息时,Posix消息队列允许产生一个
知无涯99
·
2020-07-13 08:42
Linux网络编程
Linux网络编程
——Unix本地套接字
概述今天给大家讲解网络编程中的一个内容——Unix本地套接字。发现很多人不知道或者不太了解Unix本地套接字这个概念,这也难怪,socketAPI原本就是为多台主机之间网络通信设计的,并且这种网络socket同样支持单台主机上的进程间通信,当然这样做的话,仍然需要IP地址和端口号(通过loopback地址127.0.0.1)。Unix本地套接字,其实就是一种专门用于本地(也就是单个主机上的)网络通
阿基米东
·
2020-07-13 07:48
Linux高级编程
Linux
系统编程
Linux网络编程
(1):套接字编程简介
下面的内容主要依靠这本书籍,然后,结合我自己的知识和网络资源,对
Linux网络编程
做由浅入深的学习。1、什么是套接字(Socket)?
look122333
·
2020-07-13 07:39
Linux网络编程
Linux 网络编程——TCP&UDP
Linux网络编程
——TCP&UDPTCP编程TCP编程模型UDP编程UDP编程模型相关函数socket()函数原型:intsocket(intdomain,inttype,intprotocol);头文件
liulangpingsai
·
2020-07-13 07:18
Linux网络编程
Linux网络编程
14——tcp、udp迭代服务器
一、迭代与并发服务器概述服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有迭代服务器(循环服务器)和并发服务器。在网络程序里面,一般来说都是许多客户对应一个服务器(多对一),为了处理客户的请求,对服务端的程序就提出了特殊的要求。目前最常用的服务器模型有:迭代服务器:服务器在同一时刻只能响应一个客户端的请求并发服务器:服务器在同一时刻可以响应多个客户端的请求二、UD
lianghe_work
·
2020-07-13 07:56
Linux_高级网络编程
Linux网络编程
之UDP
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!server.c#include#include#include#include#include#include#include#include#include#include#defineSERVER_PORT
比脸都大
·
2020-07-13 04:02
Linux网络编程
之循环服务器
1.介绍Linux网络循环服务器是指逐个处理客户端的连接,处理完一个连接后再处理下一个连接,是一个串行处理的方式,比较适合时间服务器,DHCP服务器.对于TCP服务器来说,主要阻塞在accept函数,等待客户端的连接。而对于UDP服务器来说,主要阻塞在recv函数.2.循环服务器模型TCP循环服务器:算法如下:socket(...);bind(...);listen(...);while(1){a
chenjin_zhong
·
2020-07-13 03:08
Linux
网络编程
linux
网络
编程
buffer
服务器
server
C++套接字编程基础知识介绍
一点睛
Linux网络编程
包括:用户态网络编程和内核态网络编程。无论在Windows平台还是Linux平台,都对套接字实现了自己的一套编程接口。
cakincheng
·
2020-07-13 03:01
C++
Linux网络编程
:原始套接字的魔力【下】
可以接收链路层MAC帧的原始套接字前面我们介绍过了通过原始套接字socket(AF_INET,SOCK_RAW,protocol)我们可以直接实现自行构造整个IP报文,然后对其收发。提醒一点,在用这种方式构造原始IP报文时,第三个参数protocol不能用IPPROTO_IP,这样会让系统疑惑,不知道该用什么协议来伺候你了。今天我们介绍原始套接字的另一种用法:直接从链路层收发数据帧,听起来好像很神
bubble_666
·
2020-07-13 03:03
Linux网络编程
-UDP接收数据丢包解决方案
序言项目涉及基于UDP的socket通信,该部分的基本情况如下:发端程序:主函数开启4个发包线程,每个线程发送一定量的数据,通过限制发包速率限制发包流量。收端程序:主函数对应开启4个收包线程,每个线程收取对应端口的数据,收到数据包即时封装处理。其他说明:本地收发。如果不限制发包速率将会非常快基于UDP。使用recvfrom()函数收包recvfrom()接收后立即将包加入队列并封装处理,即一次处理
shuaixio
·
2020-07-13 02:02
网络编程
基于UDP客户端服务器的编程模型-
linux网络编程
坚持在代码中注释,边读代码边学习
Linux网络编程
使用到的发送函数原型:#include#includessize_tsend(intsockfd,constvoid*buf,size_tlen,intflags
Achou.Wang
·
2020-07-13 02:07
linux
嵌入式
嵌入式-Linux
【
Linux网络编程
】基于TCP多进程(fork)版本客户端/服务器
客户端代码:#include#include#include#include#include#include#include#includestaticusage(constchar*proc){printf("%s[ip][port\n]",proc);}intmain(intargc,char**argv){if(argc!=3){usage(argv[0]);exit(1);}intsock
春风来不来
·
2020-07-13 02:14
linux
【
Linux网络编程
】基于TCP单进程版本阻塞式客户端/服务器
实现基于TCP的C/S服务模型,服务器将客户端的输入回显给客户端。服务器代码:#include#include#include#include#include#include#include#includeintstartup(constchar*_ip,intport){intsock=socket(AF_INET,SOCK_STREAM,0);if(sock0){buf[s]=0;printf
春风来不来
·
2020-07-13 02:14
linux
Linux C高级编程——网络编程之UDP(4)
Linux网络编程
——UDP宗旨:技术的学习是有限的,分享的精神是无限的。下面分析一帧基于UDP的TFTP协议帧。
a1314521531
·
2020-07-13 02:10
Linux
C高级编程
Linux
C高级编程
基于TCP实现服务器端、多客户端通信(多线程、多进程并发编程)
文章目录多客户端并发访问的问题分析多线程方式实现客户端并发访问多进程方式实现客户端并发访问解决多进程方式下僵尸进程问题之前我们讲述了基本TCP套接字编程的相关内容:《
Linux网络编程
|基本TCP套接字编程
ZY-JIMMY
·
2020-07-13 01:18
Linux基础
网络与内核
linux网络编程
之System V 消息队列(一):消息队列内核结构和msgget、msgctl 函数
一、消息队列1、消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法2、每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值3、消息队列与管道不同的是,消息队列是基于消息的,而管道是基于字节流的,且消息队列的读取不一定是先入先出。4、消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消
s1mba
·
2020-07-13 01:02
linux
环境网络编程
linux网络编程
之socket(十四):基于UDP协议的网络程序
一、下图是典型的UDP客户端/服务器通讯过程下面依照通信流程,我们来实现一个UDP回射客户/服务器#include#includessize_tsend(intsockfd,constvoid*buf,size_tlen,intflags);ssize_tsendto(intsockfd,constvoid*buf,size_tlen,intflags,conststructsockaddr*de
s1mba
·
2020-07-13 01:02
linux
环境网络编程
linux网络编程
之共享内存简介和mmap 函数
一、共享内存简介共享内存区是最快的IPC形式,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。即每个进程地址空间都有一个共享存储器的映射区,当这块区域都映射到相同的真正的物理地址空间时,可以通过这块区域进行数据交换,例如共享库就是这么实现的,很多进程都会使用同一个函数如printf,也许在真正的物理地址空间中只存在一份printf.o,然后所有进程都
s1mba
·
2020-07-13 01:02
linux
环境网络编程
Linux网络编程
搭建TCP通信流程
TCP客服端的搭建流程1.创建tcp通信socket函数接口intsocket(intdomain,inttype,intprotocol);参数一:网络层协议AF_INETIPV4Internetprotocols参数二:传输层协议SOCK_STREAM数据流TCPSOCK_DGRAM数据报DUP参数三:属性默认为0returnvalue:成功返回newsocket(新的网络文件描述符)失败返回
Mr.Stardust
·
2020-07-13 00:56
linux网络编程
:用C语言实现的聊天程序(同步通信)、(异步通信)
uid=8196371&do=blog&id=1642035
Linux网络编程
:用C语言实现的聊天程序(同步通信)通过TCP协议,用C语言实现的同步聊天程序,注释写的比较详细,个人觉得对
zx824
·
2020-07-12 23:16
计算机网络
Linux网络编程
面试--tcp和udp的区别
Linux网络编程
面试--tcp和udp的区别(1)TCP是基于连接的,UDP是基于无连接的.(2)TCP的数据是可靠的,UDP的数据是不可靠的.(3)TCP的数据是有序的,UDP的数据是无序的.(
zhouyongku
·
2020-07-12 23:32
网络编程
Linux网络编程
之UDP
1.UDP的特点无连接:内部不维护链接状态,也不需要三次握手。基于消息的数据传输服务:不会有粘包问题,数据包之间是有边界的不可靠:数据包可能丢失,重复,乱序,缺少流量控制。一般情况下比TCP更高效:2.UDP客户/服务器模型3.UDP的特点UDP报文可能丢失,重复UDP报文可能乱序UDP缺乏流量控制UDP协议报文可能被截断。如果发送的数据包大小超出接收缓存,多出的部分被丢弃recvfrom返回0,
Hi Man
·
2020-07-12 23:40
Linux网络编程
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他