精华内容
下载资源
问答
  • (主要是我发现没有办法把那个东西用在不同局域网的两台电脑)。心里一直想实现一个能在广域网上能通信的东西!所以就有这个小项目! 实现思路: 技术概念 使用方法 测试结果 代码 实现思路: ...

    之前,我曾做过在局域网下进行通信的东西。(主要是我发现没有办法把那个东西用在不同的局域网的两台电脑)。心里一直想实现一个能在广域网上能通信的东西!所以就有这个小项目!

    实现思路:

    通过一台有公网IP的服务器作为中转站。将局域网下的电脑转给这个中转的服务器,然后这个中转的服务器将收到的数据转给另外的一台电脑就好了。

    技术概念

    下面的技术都是为了实现全双工嘿嘿,而且也要保证传输的时候较为同步(网络IO)

    • 服务器多线程,接受的信息(分两个线程)
    • 客户端实现多线程,接受信息的同时多线程输入。

    使用方法

    • 在一个服务器(在公网上)运行服务端代码。(这里我用的是,我在阿里云租的服务器)
    • 两个人(我这里,只实现了两个人聊天的情况),分别在自己的电脑上运行起客户端代码(或者编译好的客户端程序(.exe格式))。
    • 然后,直接就可以开始聊天了~
    • 可以在任何时候输入信息,敲回车就可以发出去了。
    • 输入空的信息就可以结束了,也就敲一个回车就好了。(如果一方结束了,但是另外一方没结束就是发了,对方也收不到~ 类比于离线状态发信息

    测试结果

    下面是一个受到一个远端的信息情况和发一个信息的情况。其实这是一个全双工聊天工具,只不过我这个演示有点不好,没展示出来 hhh 而且这些都是手工build-wheel型hh很适合学习~ 哈哈哈

    [Sat Mar 3 23:52:23 2018] : Hello
    what?

    代码

    客户端代码:

    from socket import *
    import threading
    from time import ctime
    
    
    def recv(sock, BUFSIZ):
        try:
            data = sock.recv(BUFSIZ)
        except OSError:
            return  # find it was close, then close it
        if data.decode() is '[CHAT]BEGIN':
            print(data.decode())
        elif data.decode() is '[CHAT]END':
            sock.close()
        else:
            print('[%s]' % ctime(), ':', data.decode())
    
    
    if __name__ == '__main__':
        HOST = '服务器的公网IP地址'
        POST = 21567
        ADDR = (HOST, POST)
        tcpCli = socket(AF_INET, SOCK_STREAM)
    
        tcpCli.connect(ADDR)
    
        threadrev = threading.Thread(target=recv, args=(tcpCli, 1024))
        threadrev.start()
        while True:
            data = input()
            if not data:
                break
            tcpCli.send(data.encode())
        tcpCli.close()
    
    

    服务端代码~(运行在一个服务器上)

    from socket import *
    import threading
    
    
    def trans(sock1, sock2, BUFSIZ):
        while True:
            try:
                data = sock1.recv(BUFSIZ)
            except OSError:
                break
            if not data:
                sock1.close()
            else:
                try:
                    sock2.send(data)
                except OSError:
                    sock1.close()
                    break
    
    
    if __name__ == '__main__':
        HOST = ''
        POST = 21567
        ADDR = (HOST, POST)
        tcp = socket(AF_INET, SOCK_STREAM)
        tcp.bind(ADDR)
        tcp.listen(3)
    
        Users = []
        Addrs = []
        Trans = []
        while len(Users) != 2:
            tcpCli, addr = tcp.accept()
            Users.append(tcpCli)
        trans1 = threading.Thread(target=trans, args=(Users[0], Users[1], 1024))
        trans1.start()
    
        while True:
            try:
                data = Users[1].recv(1024)
            except OSError:
                break
            if not data:
                Users[1].close()
            else:
                try:
                    Users[0].send(data)
                except OSError:
                    Users[1].close()
                    break
        tcp.close()
    
    

    在这里插入图片描述

    展开全文
  • 01、处于不同局域网Socket通信(配置)

    千次阅读 热门讨论 2020-06-11 11:37:56
    拥有一台有公网IP云服务器作为中转站,将局域网电脑将数据信息发送给中转服务器,然后这个中转服务器将收到数据转给另外一台电脑,这样就可以实现两台电脑之间互相通信。 原因:我们可以实现在局域网...

     

    目录

    原理

    一、公网IP

    二、frp配置

    1、在服务器上配置

    2、在客户端配置

    配置安全组

    参考学习的网站


     

    原理

    拥有一台有公网IP的云服务器作为中转站,将局域网下的电脑将数据信息发送给中转的服务器,然后这个中转的服务器将收到的数据转给另外一台电脑,这样就可以实现两台电脑之间的互相通信。

    原因:我们可以实现在局域网下的通信而不能在不是同一局域网下的通信是因为,不同的私网之间是无法通信的,我们使用的192.168.x.x都是私网,但是所有的私网却都可以和公网ip直接通信的。所以。想要在两个私网之间通信的话,我们就需要多一个步骤,也就是需要一个公网的IP作为中转站。

    一、公网IP

    我租的是华为云学生服务器,比较适合学生党。

    华为云的官方网站:https://www.huaweicloud.com/product/

    租赁的流程是:申请一个账户 —> 实名登记(人脸或者是身份证) —> (24岁以下无需学生证登记) —> 购买学生云服务器

    (我租赁的弹性云服务器)规格以及镜像是:

    该服务器租赁之后,服务器就会一直运行,点击下方的远程登录输入账户和密码,就可以登录到控制台

    (对于这个配置比较低的服务器来说,我建议直接在控制台操作就OK,不要去装在图形化界面了,因为装了前前后后大概需要八九百MB,而且十分卡,所以需要适应Linux的命令行界面,前提是需要有一点linux的基础)

    其中在IP地址处就可以看到公网IP了,这个需要记住

    二、frp配置

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

    即:通过frp配置服务器来实现中转站的功能

    平台软件包下载的地址:https://github.com/fatedier/frp/releases

    1、在服务器上配置

    远程登录到命令行界面,输入自己的账户和密码,然后新建一个文件夹:

    mkdir zhuzhu
    cd zhuzhu

    frp 安装非常容易,只需下载对应系统平台的软件包,并解压就可用。我的服务器是Linux,因此下载的是Linux版本的,同时需要注意的是你的Linux是什么架构的,我的是ARM,64位,因此找到相应版本的frp安装即可

     wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_arm64.tar.gz
    

    然后解压:

    tar xzvf frp_0.33.0_linux_arm64.tar.gz

    为了方便管理,将解压后的文件重命名:

    mv frp_0.33.0_linux_arm64 frp

    查看文件内容:

    cd frp
    ls

    frp 默认给出两个服务端配置文件,一个是简版的 frps.ini,另一个是完整版本 frps_full.ini。我们这里通过简版的 frps.ini配置,快速的搭建起一个 frp服务端。

    查看ffrps.ini的配置:

    cat frps.ini
    
    #输出
    [common]
    bind_port = 7000 
    

    由于默认配置中监听的是 7000 端口,但是用户可根据自己实际情况修改,我这里就没有修改了

    启动frp服务端:

    ./frps -c ./frps.ini
    
    #输出(输出大概就是这个样子,我原来的输出找不到了...啦啦啦)
    2018/01/25 10:52:45 [I] [service.go:96] frps tcp listen on 0.0.0.0:7000
    2018/01/25 10:52:45 [I] [main.go:112] Start frps success
    2018/01/25 10:52:45 [I] [main.go:114] PrivilegeMode is enabled, you should pay more attention to security issues

    OK,服务端的frp启动完毕,成功监听7000端口。

    2、在客户端配置

    如果也是Linux系统的话,那么就是向上面一样配置:下载、启动客户端文件

    但是对于Windows用户而言稍有不同(因为我的就是):

    打开软件包的下载地址,下载相应的版本并解压:(我的Windows是×86架构的64位)

    同样这个文件里面也有想类似的文件:

    其中的frpc.ini就是需要配置的frp客户端配置文件

    双击打开frpc.ini文件,按照如下配置:

    • server_addr : frp 服务端的公网 IP
    • server_port :frp 服务端监听的端口(这个就是之前在服务器上配置的端口)
    • local_ip:本地客户端的IP地址(私网)
    • local_port:本地将要被访问的端口    22
    • remote_port:远程访问的端口    6000

    这个remote_port端口华为云也需要配置安全组,授权

    配置安全组:

    找到   网络设置  /  更改安全组,打开,点击   新建安全组

    选择然后点击确定即可,或者按照这篇教程来添加规则:

    阿里云/腾讯云/华为云安全组配置开放端口

    然后在Windows的Dos命令行下执行相应exe程序:

    在文件夹的目录下,按住Shift键,点击鼠标右键,然后打开Powershell窗口(这个是cmd命令的高级版):

    在命令行中输入启动frp配置:

    .\frpc.exe

    这样就可以成功在 frp 服务端上成功建立一个客户端连接,可以打开服务器,发现会有一些反应。

    到这里为止所有的配置就完成了!

     

    参考学习的网站:

    使用Socket在公网上通信

    处于不同局域网下的Socket通信——frp配置

    TCP实现在不同局域网下的两台电脑网络通信(Python实现)

    一款很好用的内网穿透工具--FRP

     

     

     

    展开全文
  • 通过ipconfig查询了一下两台电脑,网段的确不同,但还是有些不解:既然都在同一个交换机中(将问题简化一下),这台交换机上机器都可以互相通信嘛,为什么还有考虑网段什么?,然后开始查资料: 1.我们先要明确...

    最近在上计算机网络的实验,发现处在相同校园网中的台式机和我带来的pc(通过无线网连接)ping不通,然后问了老师说:网段不同,就ping不同。通过ipconfig查询了一下两台电脑,网段的确不同,但还是有些不解:既然都在同一个交换机中(将问题简化一下),这台交换机上的机器都可以互相通信嘛,为什么还有考虑网段什么的?,然后开始查资料:

    1.我们先要明确局域网的概念:
          首先要搞清楚同一局域网不同 IP 网段的设置方法:从广义上讲,局域网可以分为物理上的,和逻辑上的局域网段。
    物理局域网段是指:比如 21 台电脑主机的 21 条网线都连接在同一台 24 口的交换机上,该 IP 地址段范围:192.168.50.1 - 192.168.50.21,这时不考虑任何一台机器上关闭了 ping 服务的情况,应该是任意两台电脑之间都能够 ping 通的。
    逻辑局域网段是指:有些机器,比如说上面 21 台机器中的任意 10 台,虽然物理上都是在同一个交换机下,但是你仍然可以将这 10 台机器的 IP 地址段强制设置成 192.168.40.1 - 192.168.40.10。这个时候就属于逻辑上的局域网情况了。也就是说,这 10 台属于同一个局域网 192.168.40.x,另外 11 台机器属于另一个局域网 192.168.50.x。这时候你在这 10 台机器上就 ping 不通另外 11 台机器的 IP 地址了。子网掩码一般缺省是 255.255.255.0,非标准的子网掩码算起来更麻烦,要算子网号和主机号,一般可以不用。
    节选自:https://zhidao.baidu.com/question/437065729.html

    2.再来了解两个ip如何通信:
    1. 如果目标IP地址是本地地址,就送回本地上层处理,根本不会发到网卡去
    2. 如果目标IP地址是同一网段中的其他地址,查ARP表,找到目标IP对应的MAC地址(如果ARP缓存里没有,发ARP广播请求去获取)。把MAC地址填写到报文里发送出去,如果找不到对应的ARP项,就会发送失败。注意:报文是要靠MAC地址才能找到目标主机的。
    3. 如果目标IP地址不在同一网段,如果有网关,根据网关的ip地址,发送arp广播请求网关的mac地址将网关的MAC地址作为目标MAC地址,将数据发送给网关(网关进行下一步操作寻找目的主机的mac地址);如果没有填写网关,那么主机连arp广播或者其他任何数据都不往外发,直接丢弃该包(因为两个ip网络地址不一致,且没有网关地址)。
    (节选自知乎:大熊https://www.zhihu.com/question/63031867/answer/641836803)
    这就解决了我之前的疑惑:就算在连接同一个二层交换机,不同网段也不能通信:因为他发送的mac帧中的mac地址为网关地址,不是目标地址,因此目的主机接受不到发送的消息。

    3.有人会问什么是网关:
     网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI 7层协议的顶层--应用层。
    https://blog.csdn.net/huangyimo/article/details/82887367

    关于网关的问题:

    1.网关和IP必须设置在同一个网段吗
    https://blog.csdn.net/king523103/article/details/47727293
    https://blog.csdn.net/bytxl/article/details/41897287

    2.网关可不可以设成路由器的端口地址?如果可以那平时设置的网关又有什么作用呢?路由器上面做NAT可不可以从私有地址转换到私有地址?

       可以,用途是用来转发数据。把本网段的数据转到其他网段中。可以。
    补充一下:如果你有大量的公网地址,则不需要NAT转化,直接做路由就可以了;如果没有,也不用做NAT,下一跳或N跳的路由器会完成NAT转化的;如果你有公网地址,但不够用,则需要NAT转化,这样你会有充足的私有地址来使用INTERNAT。
    节选自:https://zhidao.baidu.com/question/6049606.html

    4.结论:
    对于两台网段不同的主机通讯来说:因为网段不同,而必须使用网关,对于二层交换机来说,因为不能当做网关,必须加一个路由器才能使得不同网段进行通信。而对于三层交换机来说则可以通过其带的路由功能来完成不同网段的通信。

     二层交换机能做网关吗 
    不能。什么叫网关?,网关(Gateway)就是一个网络连接到另一个网络的“关口”。网关有两个功能。第一个就是路由数据。就是把本地的数据从这个接口放送出去。你应该知道internet通信是通过ip地址来完成。实际上说的更严格点是套接字。ip+端口 这些都是在三层网络层实现的。二层交换机不具备路由功能。另外网关还有一个重要的功能就是连接异构网络。这一点有些人会忽视。不同网络中下层数据帧是不同的,这个也需要三层设备去修改。
    至于你说的VLAN设置ip,我希望你自己去思考一下。其实道理很简单。
    节选自:http://bbs.51cto.com/thread-661839-1.html

    5.后序问题:
    1.那么二层交换机可以设管理ip,那个有什么用呢?
    你说的二层交换机vlan能配ip地址 这个地址是vlan的管理地址啊。。。不是接口地址。所以不能做网关。。再说了 二层交换机又没有路由功能,怎么做网关
    https://zhidao.baidu.com/question/156515041.html

    2.管理ip讲解:(忘记来源了)
    本地任何一个VLAN都能做管理VLAN
    配置VLAN就是在交换机或者路由器上建立一个VLAN就行了,再给VLAN配地址
    如:VLAN 2
    interface VLAN 2
    ip address 10.0.0.1 255.255.255.0
    这样VLAN 2属于本地VLAN,但是你也可以用telnet 10.0.0.1 去登陆设备管理  二层的IP只用于管理
    没有路由功能  只是用于Telnet等的管理地址。。。

    3.然而在查询资料中,发现还是可以通过某些手段使二层交换机可以做到不同网段通信的:(真?p)

    https://www.zhihu.com/question/23013729/answer/60920958

    4..两个不同网段的IP地址能ping通,但是为什么不能在ARP上找到另一个的MAC地址?

    还是因为不同网段之间通信需要通过网关实现。
    建议参看这个答案:https://www.zhihu.com/question/20579906/answer/360222644

    5.那么会有人问了:到底两台在不同局域网的电脑如何通信?

    如果一个城域网/广域网下面的不同网段的局域网,是可以互相通信的,
    假如在一个高校里,10.0.0.1/24和10.0.1.0/24一般来说是可以互通的,完全没有问题,因为10.0.0.1和10.0.1.0可以通过边界路由进行通信,无需NAT。
    而对于跨局域网则可以通过vpn,端口映射,nat等来实现
    参考:https://www.zhihu.com/question/316422039

    6.上个问题涉及到了p2p通信技术:qq传输文件也是通过p2p技术来的,还有bt下载等。

    P2P技术原理及应用
    https://blog.csdn.net/dianliang01/article/details/80757733
    p2p通信原理及实现
    https://blog.csdn.net/yunlianglinfeng/article/details/54018113

    7.NAT(地址转换技术)详解
    https://blog.csdn.net/gui951753/article/details/79593307
    ————————————————
    版权声明:本文为CSDN博主「七和路过」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_40493277/article/details/90267862

    展开全文
  • 为什么局域网网段不同不能通信

    万次阅读 多人点赞 2019-05-16 17:52:19
    通过ipconfig查询了一下两台电脑,网段的确不同,但还是有些不解:既然都在同一个交换机中(将问题简化一下),这台交换机上机器都可以互相通信嘛,为什么还有考虑网段什么?,然后开始查资料: 1.我们先要明确...

    最近在上计算机网络的实验,发现处在相同校园网中的台式机和我带来的pc(通过无线网连接)ping不通,然后问了老师说:网段不同,就ping不同。通过ipconfig查询了一下两台电脑,网段的确不同,但还是有些不解:既然都在同一个交换机中(将问题简化一下),这台交换机上的机器都可以互相通信嘛,为什么还有考虑网段什么的?,然后开始查资料:

    1.我们先要明确局域网的概念:

          首先要搞清楚同一局域网不同 IP 网段的设置方法:从广义上讲,局域网可以分为物理上的,和逻辑上的局域网段。
    物理局域网段是指:比如 21 台电脑主机的 21 条网线都连接在同一台 24 口的交换机上,该 IP 地址段范围:192.168.50.1 - 192.168.50.21,这时不考虑任何一台机器上关闭了 ping 服务的情况,应该是任意两台电脑之间都能够 ping 通的。
    逻辑局域网段是指:有些机器,比如说上面 21 台机器中的任意 10 台,虽然物理上都是在同一个交换机下,但是你仍然可以将这 10 台机器的 IP 地址段强制设置成 192.168.40.1 - 192.168.40.10。这个时候就属于逻辑上的局域网情况了。也就是说,这 10 台属于同一个局域网 192.168.40.x,另外 11 台机器属于另一个局域网 192.168.50.x。这时候你在这 10 台机器上就 ping 不通另外 11 台机器的 IP 地址了。子网掩码一般缺省是 255.255.255.0,非标准的子网掩码算起来更麻烦,要算子网号和主机号,一般可以不用。
    节选自:https://zhidao.baidu.com/question/437065729.html

    2.再来了解两个ip如何通信:

    1. 如果目标IP地址是本地地址,就送回本地上层处理,根本不会发到网卡去
    2. 如果目标IP地址是同一网段中的其他地址,查ARP表,找到目标IP对应的MAC地址(如果ARP缓存里没有,发ARP请求去获取)。把MAC地址填写到报文里发送出去,如果找不到对应的ARP项,就会发送失败。注意:报文是要靠MAC地址才能找到目标主机的。
    3. 如果目标IP地址不在同一网段,将gateway的MAC地址作为目标MAC地址发送。
    (节选自知乎:大熊https://www.zhihu.com/question/63031867/answer/641836803
    这就解决了我之前的疑惑:就算在连接同一个二层交换机,不同网段也不能通信:因为他发送的mac帧中的mac地址为网关地址,不是目标地址,因此目的主机接受不到发送的消息。

    3.有人会问什么是网关:

    网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI 7层协议的顶层--应用层。
    https://blog.csdn.net/huangyimo/article/details/82887367

    关于网关的问题:

    1.网关和IP必须设置在同一个网段吗
    https://blog.csdn.net/king523103/article/details/47727293
    https://blog.csdn.net/bytxl/article/details/41897287

    2.网关可不可以设成路由器的端口地址?如果可以那平时设置的网关又有什么作用呢?路由器上面做NAT可不可以从私有地址转换到私有地址?

       可以,用途是用来转发数据。把本网段的数据转到其他网段中。可以。
    补充一下:如果你有大量的公网地址,则不需要NAT转化,直接做路由就可以了;如果没有,也不用做NAT,下一跳或N跳的路由器会完成NAT转化的;如果你有公网地址,但不够用,则需要NAT转化,这样你会有充足的私有地址来使用INTERNAT。
    节选自:https://zhidao.baidu.com/question/6049606.html

    4.结论:

    对于两台网段不同的主机通讯来说:因为网段不同,而必须使用网关,对于二层交换机来说,因为不能当做网关,必须加一个路由器才能使得不同网段进行通信。而对于三层交换机来说则可以通过其带的路由功能来完成不同网段的通信。

     二层交换机能做网关吗 
    不能。什么叫网关?,网关(Gateway)就是一个网络连接到另一个网络的“关口”。网关有两个功能。第一个就是路由数据。就是把本地的数据从这个接口放送出去。你应该知道internet通信是通过ip地址来完成。实际上说的更严格点是套接字。ip+端口 这些都是在三层网络层实现的。二层交换机不具备路由功能。另外网关还有一个重要的功能就是连接异构网络。这一点有些人会忽视。不同网络中下层数据帧是不同的,这个也需要三层设备去修改。
    至于你说的VLAN设置ip,我希望你自己去思考一下。其实道理很简单。
    节选自:http://bbs.51cto.com/thread-661839-1.html

    5.后序问题:

    1.那么二层交换机可以设管理ip,那个有什么用呢?
    你说的二层交换机vlan能配ip地址 这个地址是vlan的管理地址啊。。。不是接口地址。所以不能做网关。。再说了 二层交换机又没有路由功能,怎么做网关
    https://zhidao.baidu.com/question/156515041.html

    2.管理ip讲解:(忘记来源了)
    本地任何一个VLAN都能做管理VLAN
    配置VLAN就是在交换机或者路由器上建立一个VLAN就行了,再给VLAN配地址
    如:VLAN 2
    interface VLAN 2
    ip address 10.0.0.1 255.255.255.0
    这样VLAN 2属于本地VLAN,但是你也可以用telnet 10.0.0.1 去登陆设备管理  二层的IP只用于管理
    没有路由功能  只是用于Telnet等的管理地址。。。

    3.然而在查询资料中,发现还是可以通过某些手段使二层交换机可以做到不同网段通信的:(真?p)

    https://www.zhihu.com/question/23013729/answer/60920958

    4..两个不同网段的IP地址能ping通,但是为什么不能在ARP上找到另一个的MAC地址?

    还是因为不同网段之间通信需要通过网关实现。
    建议参看这个答案:https://www.zhihu.com/question/20579906/answer/360222644

    5.那么会有人问了:到底两台在不同局域网的电脑如何通信?

    如果一个城域网/广域网下面的不同网段的局域网,是可以互相通信的,
    假如在一个高校里,10.0.0.1/24和10.0.1.0/24一般来说是可以互通的,完全没有问题,因为10.0.0.1和10.0.1.0可以通过边界路由进行通信,无需NAT。
    而对于跨局域网则可以通过vpn,端口映射,nat等来实现
    参考:https://www.zhihu.com/question/316422039

    6.上个问题涉及到了p2p通信技术:qq传输文件也是通过p2p技术来的,还有bt下载等。

    P2P技术原理及应用
    https://blog.csdn.net/dianliang01/article/details/80757733
    p2p通信原理及实现
    https://blog.csdn.net/yunlianglinfeng/article/details/54018113

    7.NAT(地址转换技术)详解
    https://blog.csdn.net/gui951753/article/details/79593307

    8.最后再来普及一下我们身边接触的设备:

    交换机适合局域网内互联,路由器实现全网段互联。        

    这里再单独解释一下:猫的学名叫调制解调器,它的作用是将数字信号(电脑想要发送的信息)转换成模拟信号(网线中的电流脉冲)从而使信息在网线中传输。       由于计算机的一切信号都要由电流脉冲传送出去,因而猫是必须的。目前的家用路由器一般都是路由猫,即路由器兼顾了猫和简单交换机的功能,因而在选购时,选一款性价比超高的路由猫就可以了。
    链接:https://www.zhihu.com/question/22007235/answer/402261894

    家用路由器实际上是路由器+交换机(一个WAN口+若干个LAN口)一个wan口用来连接外网,其他的几个LAN口实质上就是一个交换机。基于以上,题主PC1和PC2分别设置192.168.2.1/24和192.168.2.2/24当然是可以互通的,因为这两台主机接在同一个交换机下(同一路由器的LAN口)且IP地址在同一网段。
    链接:https://www.zhihu.com/question/65419605/answer/231010007

    9.拓展阅读:

    校园网常用技术
    https://zhuanlan.zhihu.com/p/30178301
    相关阅读:输入一条url在浏览器经过什么?

    https://www.zhihu.com/question/34873227

    展开全文
  • socket可以实现两个程序(一边是服务端,一边是客户端)的通信,一台电脑两个程序通信可以或者局域网里的两台电脑可以通信,但是公网的或不同局域网的两台电脑通信涉及的网关等内容,故本博客只简单说明一台电脑中的...
  • 利用python实现局域网间的通信python socket通信 客户端如何检测同一 局域网内开我使用python...还是说你有多个服务器,可是客户端链接到哪个服务器得看你客户端套接字设置两台主机在不同局域网内pythonsocket...
  • 目的是将 ip 与两台电脑的 hostname 绑定,两台电脑之间通过 hostname 就可以找到对方。修改之后,ping ip 和 ping hostname 都可 以找到对方信息。 将本机 ip 和本机 hostname 以及另外机器 ip 和 ho
  • 一般位于不同局域网的两台电脑是不能直接进行通信的(ping通),它们分配到的都是私网IP,只在当前网络具有特异性,诸如192.168.x.x等IP,它们需要借助公网IP通信。 三、如何借助公网IP进行不同局域网之间通信 3.1...
  •  无线网卡是终端无线网络的设备,是无线局域网的无线覆盖下通过无线连接网络进行上网使用的无线终端设备。具体来说无线网卡就是使你的电脑可以利用无线来上网的一个装置,但是有了无线网卡也还需要一个可以连接的...
  • 主要结合所学知识,以个人理解进行整理,有以下几点: 局域网通信 局域网局域网之间的通信 IP 端口 首先了解个概念: MAC地址:相当于人身份证号...多主机之间形成一个局域网,如在学校机房中,...
  • 目录前言准备工作设定master地址标识主机名 前言 ROS的通信机制为我们带来极大便利,不仅仅是进程间通信方便,不同设备间...这时我们就得到了局域网两台电脑各自hostname和IP地址: 电脑A:hostname_A IP_A 电脑B
  • 飞秋(FeiQ)是一款局域网聊天传送文件绿色软件,它参考了飞鸽传书(IPMSG)和QQ, 完全兼容飞鸽传书(IPMSG)协议,具有局域网传送方便,速度快,操作简单优点,同时具有QQ中一些功能。 功能说明: - 飞秋(FeiQ)是一款...
  • 2、网上搜索所得,机万兆网卡要设置不同于家中局域网的网段,且不设网关?但在设置“172.31.1.1与172.31.1.2“之后,连远程桌面都连不上了。 3、请指点:该如何设置?或者如果此设计想法不可行,如何调整? ...
  • 原料:python3,腾讯云服务器 用到库:socket,sys,threading,time,pyinstaller。...不同局域网两台电脑的用户可以聊天 用服务器做中转,服务器端主线程和新开线程共两个线程。 客户端也为主线程和
  • 路由器中的NAT软件会给这台电脑分配一个随机的端口号并将内网ip转换为公网ip,提供与外部网络的通信,当不是同一个局域网不同路由器用户、路由器用户和猫用户)中的两台电脑相互请求通信时,由于不知道对方路由器...
  • 先说结论,集线器和...集线器想象一下,假如你们村有两台电脑,如何使这两台电脑通信呢?很简单,用一根网线连接两台电脑即可。但如果你们村有三台或更多台电脑,又如何让这些电脑相互通信呢?显然一根网线是行...
  • 文章目录1. 不同网段通信2.软件模拟设备配配置参数3.测试 1. 不同网段通信 处于同于一个网段电脑通过集线器或者交换机可以实现互相通信,...这里使用台电脑两台服务器,两个交换机。三个路由器。框中圈...
  • 提供个版本:第一个测试版,是可以在一台电脑模拟实现群聊私聊(由于ip是一样,所以写死了);第二个是成品,如果要测试话要找局域网内多台不同的电脑测试(因为用户之间是以IP地址区分)。压缩包里附有...
  • ROS-多机通信

    2017-11-16 21:30:00
    前言:一定要在同一路由的局域网下进行,就是两台电脑的ip要像这样:192.168.191.4和192.168.191.8,只有最后一位不同,这样就能ping通了,否则ping不同。 一、查看ip和主机名 1.1 查看ip: ifconfig -------------...
  • 不同网段共享打印机

    千次阅读 2018-04-30 10:33:44
    一、现状: 局域网内有两台电脑xp和win7,xpIP为192.168.10.237,计算机名称是anne,win7IP为192.168.50.100,计算机名称是wowjing;打印机连接在xp上,并已经设置为共享(共享名为:hp3015),且在xp上已经...
  • 两台不同局域网的电脑通过公网进行局域网的联系.如打局域网游戏~if(true){ 1、不能再直接使用IP+固定端口号的方法通信; 2、局域网内的A电脑到公网的信息为:固定公网IP+临时端口号;换句话说,传入该固定公网IP+...
  • 以下仅为个人网上查阅资料之后感悟理解,不保证完全正确,有助自己复习以及帮助想了解路由器和交换机同学们留一个初步...而交换机是进行同一个网络内不同机器之间的通信,比如想让两台电脑之间通信或文件共享...
  • 目录(一)基础知识1.定义:2.IP:3.端口号:4.协议:5.套接字(socket)(二)代码实践 (一)基础知识 ...(2)一般来说是唯一,但在不同的局域网中,两台电脑的IP地址可以一样,在这里,其实只是名称 相...
  • 客户端----服务器结构。C/S结构在技术上很成熟,它主要特点是交互性强、...C/S结构软件需要针对不同的操作系统系统开发不同版本软件,加之产品更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。
  • 1、CS、BS架构定义 CS(Client/Server):客户端-...C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。 C/S 架构是一种典型的两
  • 内网穿透其实就是两台计算机都处于不同的局域网之中,外网与内网计算机节点需要连接通信,那么就需要借助内网穿透技术来解决这个问题,也叫NAT穿透。 通俗点将,其实就是在公司或者是家庭内部,建立一种局域...
  • 具有代表性协议:IP TCP HTTP等。TCP/IP就是IP TCP HTTP等协议集合 (主要用途 互联网 局域网) LAN(局域网)中常见协议有IPX/SPX/NPC等(NetWare)(个人电脑局域网) ...两台计算机之间必须能够支持相同协议,
  • OSI七层模型、TCP/IP四层

    千次阅读 2018-05-10 16:14:43
    会话层:解决传输层有一个发送方多个接收方时确定发给谁问题(两台电脑不同应用程序间的通信)表示层:解决会话层仅仅是文字交互,提供多种数据格式显示功能(编码)应用层:将表示层封装,提供用户接口...

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

不同局域网的两台电脑通信