各位大虾,我最近写了一个局域网的互传文件程序,这个时候遇到一个问题,
     就是比如2台计算机,都是局域网同一个网段的,如:91.52.48.2和91.52.48.5这2台计算机都能ping通,程序无问题。
     我就是想问下:如果将这2台计算机的xp防火墙都打开,这个时候,就ping不通了,也不能传送文件了,要怎么做才能让这2台计算机传送文件??(因为局域网内的计算机很多,不能每台都关闭计算机的防火墙)

解决方案 »

  1.   

    我觉得最奇怪的是,我们局里有台公文处理服务器,ip为91.52.48.2,我用另外一台电脑:91.52.48.176去ping,能ping通,
    但是公文处理服务器不能ping通91.52.48.176,
    奇怪的是,我从91.52.48.176上登陆客户端,能从公文处理服务器91.52.48.2上面下载公文,按道理说公文处理服务器ping不通客户端,应该不能发送文件到客户端才对,为什么又能下载文件那??
    (客户端的防火墙没关,也没在防火墙中添加什么端口,直接安装公文客户端就能使用了)
      

  2.   

    关键是服务器为什么能传文件到客户端那??服务器ping不通客户端的啊
      

  3.   

    恩,谢谢dancingbit,我编写的程序因为只是实验,并没有采用3次握手,只是单纯的传送文件,dancingbit,我还想问问,如果是三次握手的话,第一次发生文件名字(发送端应该要关闭相应的FileStream流),看接收端如果接收,如果要,接收端再发送要接收文件消息给发送端,(发送端应该再次打开FileStream流)我不知道我写的这个流程对不对??如果对的话,已经关闭了FileStream流,防火墙能识别接收端发过来的接收文件的消息不??
      

  4.   


    三次握手是这样握手的吗?
    你发送文件名字,为啥要打开FileStream流呢,获取个名字那么累?
    防火墙与你的FileStream流没有关系
      

  5.   

    3次握手是TCP的底层实现,你在程序中不需要操心这个。
    你说的这个过程也与三次握手无关,在传送文件的过程中,不要关闭连接,不要关闭与连接有关的流。
      

  6.   

    3次握手是TCP的底层实现,你在程序中不需要操心这个。 
    你说的这个过程也与三次握手无关,在传送文件的过程中,不要关闭连接,不要关闭与连接有关的流。
    这个意思不是很明白样?
      

  7.   

    我就用80端口算了,一般的机子都没装iis,80端口是空闲的,去试试,是否防火墙对80端口始终开放的,如果是的话,马上给分哈
      

  8.   

    你使用TCP建立连接的时候,就会经历三次握手,但你无需知道,无需关心,甚至将来不握手了,对你的程序也没什么影响。如果你关闭了连接或流,就非得要你的程序再主动与服务器建立连接。
      

  9.   

    dancingbit,你所说的
            “在客户端向其他计算机发出请求时,会被防火墙记录。然后被请求的计算机发回响应时,防火墙在记录中能找到对应的请求,就会放行,然后两台计算机建立连接以后,传输信息再不受阻碍。”的意思是不是这样:
          比如:如果发送端有防火墙,接收端没防火墙,发送端能ping通接收端,但是接收端不能ping通发送端,如果一开始的时候,发送端给接收端发送文件,这个时候接收端接收了,(防火墙记录),然后接收端给发送端发送文件,这个时候防火墙就能放行了,(如果最开始是接收端给发送端发送文件,就不会发送成功,因为防火墙没记录)