socket程序不存在内网外网的问题。
你内网能连通,那外网也能连通。问题是你的程序是怎么样的?
比如你的程序是A,你同学的程序是B
那A连接B的时候你是怎么处理的,你能知道B的IP地址吗?
如果双方都可以知道对方的IP地址,那能保证双方的防火墙允许通过吗?
有个简单的方式可以试一试。
比如你同学的机器IP是 10101010 (这个IP必须保证是公网IP或者说是外网IP),他的程序在6666端口监听。
那你用telnet 10101010 6666 命令,看看能不能连接上,如果不能,那就是网络不通了。
当然,如果都在内网里,想要穿透NAT网关,这个技术就复杂了,你可以去找找资料。
申请一个DDNS帐号,花生壳,DNSDynmic之类的。 在自己的路由器上设置DDNS,和端口映射重定向外网对特定端口的访问指定到自己的内网机器。 等10分钟让服务器端更新你的IP 用DDNS域名访问内网服务器 如果你的公网IP是固定的或者已知的
}
}
同时修改文件MyServiceasmx(右击--查看标记;如果在vs环境下双击打开的是cs文件)
<%@ WebService Language="C#" CodeBehind="MyServiceasmxcs" Class="TestWebServiceService1" %>改为
<%@ WebService Language="C#" CodeBehind="MyServiceasmxcs" Class="TestWebServiceMyService" %>
(二)重新生成项目,右击MyServiceasmx,选择“在浏览器中查看”,即可检查本项目是否有语法错误
(三)在MyServiceasmx添加指定方法
using System;
using SystemData;
using SystemWeb;
using SystemCollections;
using SystemWebServices;
using SystemWebServicesProtocols;
using SystemComponentModel;
namespace TestWebService
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = ">
对于互联网与专用网来说,就相当于是两个圈。其实在这两个圈里面,一台计算机肯定可以都参与的。其原理很简单,通常来讲一般人们会利用两个方式来实现这样的目的。其中之一就是使用我们的路由器,其二就是给我们的计算机增加一个网卡,使其成为双网卡就可以了。那么这两个方法是如何实现的呢
方法一:利用路由器实现
第一步,我们可以点击计算机桌面的开始,然后点击运行,在运行窗口里面输入CMD并点击回车。这样就打开了cmd程序,然后进入DOS提示窗口;
第二步,我们需要在这个窗口里面输入添加路由的 *** 作命令。我们需要在提示符的后面输入:Route –p add 192168188198 mask 255255255255 1921688168然后点击回车;
第三步,退出DOS窗口。这样的话专网还有公网我们都可以进行访问了;
方法二:添加双网卡来实现
对于一台计算机来讲,我们可以采用双网卡的方式来实现专网和公网的访问。其实这就相当于两个循环;
例如我们可以在第一个网卡上设置内网的ip地址,然后访问内网的一些内容。对于另外一个网卡来说,我们可以采用另外的ip地址进行访问。当然这两个IP地址完全是针对两个网卡的;
需要说明的是,这两个网卡最好不要使用同一个局域网地址,这样可能会搞乱。我们可以选择不同的路由器网关,或者是在同一个网关的情况下,把这个计算机的两个网卡设置成不一样的固定ip地址就可以了。
几个方法:
一个是用PCANYWHERE等远程软件,设置简单。
一个是建VLAN,设置比较复杂,但功能最齐。
如果是独立IP的话,最好是在路由里把DMZ主机设置成你想要的服务器IP,然后在服务器上开启允许远程登陆,并设置好远程登陆的用户。然后外网就可以通过拨号等方式登陆服务器了。
是否可以解决您的问题?
端口映射 是在你用路由器的时候用的
当你的某台电脑连接路由器时,路由器会分给你的电脑一个内网IP 一般是(192168XY)的形式
比如:你连接外网IP(我现在的外网IP是(119059111)),
客户端连接("119059111:123")'123是端口
客户端会将信息发送到你的路由器,但是路由器不知到"123"这个端口的信息应该怎么处理
这时,你就需要" 端口映射",将"123"端口的信息发送到内网的某个指定IP(192168XY)
形式: 客户---(连接/发送数据)-->---(外网)--->路由器----(端口映射)--->被分配指定IP的电脑(或其他的设备)
端口映射 在路由器的设置网页中找
这是我自己的看法,本人非专业,只是曾经研究过有错希望指出
并且须提供远程访问和1433口打开
参考2005的Sql Server 2005的1433端口打开和进行远程连接
如何打开sql server 2005 的1433端口
配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议
看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,
"已启用"改为"是"
配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP
选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"
SQL Server 2005 远程连接
配置TCP/IP属性
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT
SQL Server 外围应用配置器—服务和连接外围配置—database englie—远程连接—启用(远程连接的TCP/IP和named pipes)
SQL Server Configuration Manager—SQL2005网络配置—启用TCP/IP和named pipes
-----------------------------------------------------------------------------------------
一般按如上即可
其他说明见下:
sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器,微软的官方网站有
下,安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。
1 开启sql2005远程连接功能,开启办法如下,
配置工具->sql
server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine
节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了
2登陆设置改为,Sql server and windows Authentication方式同时选中,具体设置如下:
manage管理器->windows
Authentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属
性>security>Sql server and windows Authentication方式同时选中
3:设置一个Sql server方式的用户名和密码,具体设置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式,
用户名为sa ,密码为:sa123456的用户进数据库了
4: 做完上面三步后,这样写连接字符串就可以顺利进入数据库了,
(server=\\sqlexpress;uid=sa;pwd=sa123456;database=master";
其它版本,做如下设置
程序—Microsoft SQL Server 2005—配置工具—SQL Server 外围应用配置器—服务和连接的外围应用配置器—
1、MSSQLserver(实例名)—DataBase Engine—远程连接—(设置选项)
在下方选项
2、SQL Server Browser—服务(停止时只本机访问)
3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—网络连接协议-选择实例对应协议—启用(shard memory、Named Pipes、TCP\IP)
注: SQL Server 浏览器程序以服务的形式在服务器上运行。SQL Server 浏览器侦听对 Microsoft SQL Server 资源的传入请求,
并提供计算机上安装的 SQL Server 实例的相关信息。
SQL Server 浏览器可用于执行下列三种 *** 作:
浏览可用服务器
连接到正确的服务器实例
连接到专用管理员连接 (DAC) 端点
SQL Server Browser 服务 (sqlbrowser) 为数据库引擎 和 SSAS 的每个实例提供实例名称和版本号。
SQL Server 浏览器随 Microsoft SQL Server 2005 一起安装,
为该计算机上运行的早期版本的 SQL Server(从 Microsoft SQL Server 70 开始)提供此服务。
以上就是关于VB中用winsock与外网连接,高手进!!全部的内容,包括:VB中用winsock与外网连接,高手进!!、怎样一步一步实现外网访问本地程序、Winform程序外网怎么访问等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)