我使用NetMessageBufferSend 发送消息给局域网是成功的,
可是发送给外部的机器就失败(2273)。请问该如何才能让消息
发送出去。

解决方案 »

  1.   

    有防火墙,我在测试的时候,刚开始没有打开防火墙,我朋友都说可以收到,可后面我打开了,我朋友再也没收到过,另外你看一下
    UDP 端口 135、137 和 138;TCP 端口 135、139 和 445;以及一个大于 1024 的短暂(即寿命很短的)端口是否打开
      

  2.   

    NetMessageBufferSend是可以传出本局域网,应该是防火墙在作怪,我记得是通过135-139的某个端口
      

  3.   

    我没有装防火墙啊。我在服务器上直接发送也不行,用 net send [外部ip] msg 也不行。
    都是说 网络上找不到此消息别名 (2273).
      

  4.   

    谢谢各位。我找到了原因。对方的信使关闭了
    还有一点想请教的就是:如果通过tcp端口自己发送信息,
    我看了一下,发送了两次数据,这些数据都是如何编码的,有何意义?
      

  5.   

    NetMessageBufferSend use unicode param,
      

  6.   

    我知道参数是unicode.不过我不是问这个。我是说不通过这个函数,直接通过端口来发送的数据...
      

  7.   

    发出去的时候,是用byte的方式,而不管数据的实际意义。
    接收到后,也是byte的方式,你把他们转换成什么格式,就以什么格式存储。