外网与内网怎么实现通讯呢? 我想做个聊天之类的东西,但是不知道外网怎么跟内网通讯,我的pc连的是内网,通过路由器连上Internet的,我想测试一下,如果服务器放在我这台机器上,外网的客服端可以访问到服务器吗?可以的吗?怎么连接呢?麻烦大家帮下了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 服务器必须是有对外的端口,如果不行,就申请个VPN,加入虚拟局域网,不过那种是内部应用 还用户呢装个花生壳就可以解析你的路由获取的外网地址然后在路由上做端口映射 映射到你的机子 什么UDP TCP都有固定的端口(在路由上),指定到你的内网地址客户端:首先解析你花生壳的域名-》到你的路由-》你的机子你没有固定IP 花生壳是首选 是这样的。首先,当你发送消息给别人的时候,别人那里就能获取到你的Socket对象。并且当别人用你这个Socket对象发消息的时候,相当于回复消息,这时候你是可以收的到的。那么,如果两个位于内网的计算机在通信之前,都先发个消息给一个具有公网ip的服务器。那么这个时候,服务器就分别获取到了两个计算机的Socket对象,并且对任何一个对象做回复操作,那两台计算机都能收到消息。这个时候,如果服务端程序设定,计算机A发到服务器的消息,转发给计算机B的Socket对象,这样不就相当于A发送消息,而消息被B接受了么。如果发送频繁,那么可以通过序列化将该Socket对象分别发送给两台计算机。即:A获取B的Socket对象,B获取A的Socket对象。这样,A用B的对象发送,B就可以收到了。反之亦然。 如果没有固定IP,可以申请动态域名:如花生壳动态域名原理:每次你启动花生壳软件时,他都会到花生壳的网站登陆,即将你的目前上网的公网IP和你的帐号联系起来,也就是和你申请的动态域名联系起来,这样其他用户通过你的动态域名访问你的计算机时,花生壳的DNS服务器就会告诉他目前你的公网IP(注:TP-Link的新版路由器都内嵌了花生壳,不需要你的计算机再运行花生壳软件了)端口影射:一般情况下,外网用户只能访问有公网IP的计算机,如果使用路由器上网,则你的计算机是不具备公网IP的,但你的路由器是有公网IP的,这种情况下,就需要用到端口映射。原理:设置路由器的某个端口映射到本地内网某个IP的对应端口,那么,当外网用户连接这个端口的时候,路由器就起到中继转发的功能,把外网用户对该端口的操作都转发到对应IP的该端口上来。动态域名和端口映射对编程开发是不需要处理的,你就当是公网固定IP或是内网通讯就行了。内网用户访问公网IP时,因为他是主动端,所以是直接就可以的。内网用户访问内网,如果作为服务器端的内网用户的对应公网IP已知(固定IP或动态域名)且实现了端口映射,那么就和内网访问公网是一致的了如果还不懂,建议你补充基础知识。 你打开路由器管理,里面应该有一个DMZ管理(在某一个管理的子项,好像是路由管理)的,把你的机器内网IP写进去就可以了,别人访问你们内网的公网地址就会直接到你的PC上 C#用什么软件开发? 求一下代码详解(C#),急!!! C#如何自绘菜单的下拉边框? 急急急!C#中打印时如何对多个字符串排版? ASP.NET中在DataGrid同时使用排序与分页 关于OdbcDataReader的问题,在线等,急!! 序列化xmlserialization? c#如何生成点卡序列号 请问在安装部署中如何做卸载啊 求大神们给个完整的程序 关于c#窗口等待另外一个窗口关闭的问题 C#程序中如何防止PPC自动进入待机状态
然后在路由上做端口映射 映射到你的机子 什么UDP TCP都有固定的端口(在路由上),指定到你的内网地址客户端:首先解析你花生壳的域名-》到你的路由-》你的机子
你没有固定IP 花生壳是首选
是这样的。首先,当你发送消息给别人的时候,别人那里就能获取到你的Socket对象。并且当别人用你这个Socket对象发消息的时候,相当于回复消息,这时候你是可以收的到的。
那么,如果两个位于内网的计算机在通信之前,都先发个消息给一个具有公网ip的服务器。那么这个时候,服务器就分别获取到了两个计算机的Socket对象,并且对任何一个对象做回复操作,那两台计算机都能收到消息。这个时候,如果服务端程序设定,计算机A发到服务器的消息,转发给计算机B的Socket对象,这样不就相当于A发送消息,而消息被B接受了么。如果发送频繁,那么可以通过序列化将该Socket对象分别发送给两台计算机。即:A获取B的Socket对象,B获取A的Socket对象。这样,A用B的对象发送,B就可以收到了。反之亦然。
(注:TP-Link的新版路由器都内嵌了花生壳,不需要你的计算机再运行花生壳软件了)端口影射:一般情况下,外网用户只能访问有公网IP的计算机,如果使用路由器上网,则你的计算机是不具备公网IP的,但你的路由器是有公网IP的,这种情况下,就需要用到端口映射。
原理:设置路由器的某个端口映射到本地内网某个IP的对应端口,那么,当外网用户连接这个端口的时候,路由器就起到中继转发的功能,把外网用户对该端口的操作都转发到对应IP的该端口上来。动态域名和端口映射对编程开发是不需要处理的,你就当是公网固定IP或是内网通讯就行了。内网用户访问公网IP时,因为他是主动端,所以是直接就可以的。内网用户访问内网,如果作为服务器端的内网用户的对应公网IP已知(固定IP或动态域名)且实现了端口映射,那么就和内网访问公网是一致的了如果还不懂,建议你补充基础知识。