我有原程序,mail to [email protected]

解决方案 »

  1.   

    说白了就是在192.168.0.1上打开一个端口进行Listen
    别人从Internet上连接到我的IP时我能够响应这个连接
    (因为我用Lan连入Internet,所以我这台机器没有IP的。)
      

  2.   

    你的ip应该就是服务器拨号网络的ip
      

  3.   

    http://www.commacn.com/vbsworld/codeAnalyze/index.htm 
      

  4.   

    我的目的是别人能通过Tcp/Ip协议建立连接
    连接到我的机器!!!!!!!!!!!!
    我的机器是通过Lan连入Internet的,所以
    我用winsock.listen根本无法收到连接请求,
    如何解决这个问题?
      

  5.   

    Private Sub Command1_Click()
    '启动Winsock1,使用listen方法,听80端口
    DoEvents
    Winsock1.Close
    Winsock1.Protocol = sckTCPProtocol
    Winsock1.LocalPort = 80
            
    Winsock1.Listen
    Text1.Text = "WinSocket状态: " & CStr(Winsock1.State) + "本机IP地址:" + CStr(Winsock1.LocalIP)
    End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    '在Winsock1的ConnectRequest事件中加入代码
    Winsock1.Close
    Winsock1.Accept requestID
    End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    '然后在Winsock1的DataArrival事件中加入代码
    Winsock1.GetData DataReceived, vbString
    Text3.Text = DataReceived
    pos1 = 0
    pos2 = 0
    For i = 1 To Len(DataReceived)
    If Mid(DataReceived, i, 1) = " " Then
    If pos1 = 0 Then
    pos1 = i + 1
    Else
    pos2 = i - 1
    Exit For
    End If
    End If
    Next
    On Error GoTo ExitThisSub
    If pos1 <> 0 And pos2 <> 0 Then
    requestfilename = Mid(DataReceived, pos1 + 1, pos2 - pos1)
    requestfilename = Trim(Text2.Text) & requestfilename
    If Dir(requestfilename) <> "" Then
    Else
    GoTo NoRequestFile
    End If
    End If
    Open requestfilename For Input As #1
    Winsock1.SendData "HTTP/1.0 200 OK" + vbCrLf
    Winsock1.SendData "MIME_version:1.0" + vbCrLf
    Winsock1.SendData "Content_Type:text/html" + vbCrLf
    Winsock1.SendData "Content_Length:" + CStr(LOF(1)) + vbCrLf
    Winsock1.SendData "" + vbCrLf
    Winsock1.SendData "" + vbCrLf
    Winsock1.SendData "" + vbCrLf
    Do While Not EOF(1)
    Line Input #1, TData
    Winsock1.SendData TData
    Loop
    ExitThisSub:
    Close #1
    Command1_Click
    Exit Sub
    NoRequestFile:
    Winsock1.SendData "HTTP/1.0 200 OK" + vbCrLf
    Winsock1.SendData "MIME_version:1.0" + vbCrLf
    Winsock1.SendData "Content_Type:text/html" + vbCrLf
    Winsock1.SendData "Content_Length:" + CStr(30) + vbCrLf
    Winsock1.SendData "" + vbCrLf
    Winsock1.SendData "" + vbCrLf
    Winsock1.SendData "" + vbCrLf
    Winsock1.SendData " <br><br>< center >< h2 >欢迎您使用VB WebServer,刚才的地址没有找到!< /h2 >< br >< br >1999年4月10日< br >< br >< a href=mailto:[email protected] >我的信箱< /a >< br >< /center >< br >"
    Command1_Click
    End Sub
      

  6.   

    简单的用winsock应该办不到吧,internet上的朋友只能找到你的代理服务器,找不到你自己的机器
    除非你在你的代理服务器上也写个软件或者设置某些权限,http好象可以,但是很抱歉,我不太懂
      

  7.   

    我现在也是通过学校的LAN上网,但是用不了QQ,
    如果你说的成立,我们自己写出通讯软件不就都和远方的朋友聊上天了,而实际上这是不可能的
      

  8.   

    这么简单,哈。
    找我吧,兄弟!
    [email protected]
      

  9.   

    我也做了类似功能的软件,但是我不知道是不是也有这样的问题发生,我试试看能不能解决,有结果是不是可以发个妹儿告诉我,可以吗?
    [email protected]
      

  10.   

    光是listen没用,接收到信息你怎样处理?
      

  11.   

    都很积极吗。嘻嘻
    我up up up
      

  12.   

    如果是转发连接请求,那就要在 那个 *.*.*.1的机器上运行一个请求转发的小程序,Like Proxy.
      

  13.   

    如果 192.168.0.1不能运行某些程序,你又没有地址,那就没有办法了。
    但是动态分配地址,分配后就不会再改变了。(重启也不会改变)
    ping 自己一下可以看到ip,再对这个ip编程