linux网络编程
linux网络编程
我在这里啊@
小白
展开
-
解决linux连接海康摄像头后无法访问摄像头ip的问题
接着上篇的问题在win下试验成功后,准备去Linux下测试一番,使用ifocnfig修改ip地址与摄像头在同一个网段后发现又无法访问了,折腾了好久,终于在一个回答中找到问题的关键。环境:Ubuntu20.04, win10主机,桥接模式这里的桥接模式默认桥接的是主机的物理网卡,如图所示,在Bhuwifi下的那个网卡,但是跟上篇文章同样的问题出现了,摄像头并不借助路由器组网,因此桥接到这个网卡上时主机跟虚拟机时无法ping通的(如果能ping通是因为连接了外网,通过路由器ping通,断网后就无法pin原创 2020-12-25 10:37:59 · 3609 阅读 · 1 评论 -
海康摄像头使用网线连接电脑后无法访问摄像头ip
起初通过海康官方的工具修改ip地址与主机ip在同一网段后,发现依旧无法访问摄像头的ip,后查询资料发现使用网线连接后, 应该将ip修改成与网线的ip在同一个网段,而不是外网的,如图:BhuWiFi是连接的WiFi,第二个是海康摄像头的网线上图中,最下面的是连接的外网,对应的是BhuWIFI,以太网适配器 以太网对应的是海康摄像头的网线。我初始的操作是将海康摄像头的ip地址改成跟WiFi在一个网段,发现怎么也无法访问摄像头的ip。查阅资料后得知要将摄像头的ip地址改成跟网线的ip在同一个网段就可以了。原原创 2020-12-25 10:22:14 · 20660 阅读 · 4 评论 -
TCP粘包和拆包问题
但此时原创 2020-09-16 09:02:55 · 188 阅读 · 0 评论 -
IP地址的分类
A类地址中前八位是网络部分,后24位是主机部分子网掩码揭示了哪个是网络部分,哪个是主机部分,比如192.168.80.1,子网掩码是255.255.255.0,这就是后面前三个八位是网络部分,最后一个八位是主机部分111.222.111.222/24这种形式中斜杠后面的数字代表子网掩码的位数,所以111.222.111.222/24所表示的意思就是:IP地址:111.222.111.222子网掩码:255.255.255.0A类:1.0.0.0~126.255.255.255,默...原创 2020-09-04 09:04:18 · 300 阅读 · 0 评论 -
TCP/IP协议相关
0、TCP/IP四层协议应用层,网络层,传输层,数据链路层1、数据链路层:数据链路层常用的两个协议是ARP协议和RARP协议,实现IP地址和MAC地址的相互转化2、网络层网络层实现数据包的转发和选路,重要的协议是IP协议和ICMP协议IP协议根据数据包的目的IP地址来决定如何投递它。如果数据包不能直接发送给目标主机,那么IP协议就为它寻找一个合适的下一跳(next hop)路由器,并将数据包交付给该路由器来转发ICMP协议主要用于检测网络连接,分为两大类差错报文和查询报文,差错报文用来回应网原创 2020-08-31 15:07:19 · 108 阅读 · 0 评论 -
判断TCP客户端是否断开连接的方法
判断recv函数的返回值,小于等于0代表有问题,此时判断 errno是否等于 EINTR,如果errno == EINTR 则说明recv函数是由于程序接收到信号后返回的,socket连接还是正常的,不应close掉socket连接。如果使用select函数,则先判断select()函数是否返回0使用getsockopt函数判断getsockopt(sock, IPPROTO_TCP, TCP_INFO, &info, (socklen_t *)&len); if((info.tc.原创 2020-08-17 18:32:20 · 3049 阅读 · 0 评论 -
TCP/UDP的socket编程的几种标准模式
1、TCP socket编程的标准模式TCP编程中建议使用recv函数和send函数,并且客户端不使用bind函数2、为什么不建议对TCP客户端进行bind?首先要明确,客户端不是不能bind,他也可以bind,但是我们却不建议对客户端bind。回想一下,服务器为什么要bind呢?因为服务器总是被动方,需要在一个众所周知的端口上等待连接请求,而且作为服务器它的端口号应该是固定的。服务器bind一个端口就表示会在这个端口提供一些特殊的服务。而客户端它是主动发起方,我们并不关心是客户端的哪个端口和服原创 2020-08-09 15:42:34 · 274 阅读 · 0 评论 -
TCP/IP面试
IP只为主机提供一种无连接、不可靠的、尽力而为的数据报传输服务,如何理解无连接,不可靠?不可靠指的是不保证数据包能成功到达目的地。无连接指的是不维护关于后续数据报的状态信息,体现在IP 数据 可以不按顺序发送和接收。 A 发送连续的数据报,到达 B 不一定是连续的,路由选择可能不一样,路线也不一样,到达先后顺序也不一样。以太网帧的最短长度为64字节,最大长度为1500字节UDP面向报文:无论应用层交给udp多长的报文,它统统发送,一次发送一个;而对接收方,接到后直接去除首部,交给上面的应用层就完成..原创 2020-08-02 11:17:49 · 182 阅读 · 0 评论 -
Linux TCP 多线程并发服务器实现详解
与多进程很相似,不多赘述,具体内容在多进程服务器的文章中#include <stdio.h>#include <arpa/inet.h>#include <stdlib.h>#include <pthread.h>#include <sys/socket.h>#include <unistd.h>#include <sys/types.h>#define SERV_PORT 5001#define BAC原创 2020-07-20 14:46:21 · 627 阅读 · 0 评论 -
Tcp三次握手与四次挥手
三次握手与四次挥手1.为什么需要三次握手2.三次握手详解:3.四次挥手详解4.tcp的数据传输过程1.为什么需要三次握手首先明确一下,两次握手是必须的,为什么呢?第一次握手是client发送连接请求给server,server收到连接请求后知道是可以连接成功的,但是client不知道,因此server需要发送一个反馈信息,这样client收到反馈信息后就知道自己是可以与server连接上的,这就是第二次握手。而第三次握手是为了防止已经失效的链接请求又发送到server.例如client发出去的第一个原创 2020-07-20 13:27:25 · 191 阅读 · 0 评论 -
计算机网络相关知识总结
1.OSI七层模型和TCP/IP四层模型的对应关系2.socket原理套接字创建成功以后会产生一个文件描述符fd,而fd操作的是内核的缓冲区,一个读缓冲区,一个写缓冲区当写操作区内有数据后,会自动发送出去,当读操作区内的数据被读走以后,数据就没有了,像管道一样,没有数据的时候默认是阻塞的3.tcp与udptcp是一种面向连接的安全的流式传输协议,链接的时候进行三次握手,数据发送的时候会进行数据确认,数据丢失的时候会重新发送udp是一种面向无连接的不安全的报式传输,链接的时候不会握手,数据原创 2020-07-19 17:44:19 · 347 阅读 · 0 评论 -
select函数实现并发服务器(附详细注释)
1、服务器#include "stdio.h"#include "stdlib.h"#include "sys/select.h"#include "arpa/inet.h"#include "string.h"#include <unistd.h>int main(){ int rw_fd; int ret; int fd; int max; int i; int len; char buf[128] = {0};原创 2020-07-19 17:46:35 · 541 阅读 · 1 评论 -
Linux TCP多进程并发服务器实现详解
2.socket函数函数原型为:int bind(int sockfd, struct sockaddr *my_addr, int addrlen);1.第一个参数为 函数返回的文件描述符2.第二个参数用来保存ip地址和端口号 IP地址(IPV4)占有4个字节,端口号占有2个字节,因此定义了一个结构体struct sockaddr来存储,这个结构体含有两个成员,第一个成员占据两个字节的...原创 2020-05-05 21:12:04 · 456 阅读 · 0 评论