跪求:
MulticastSocket m_oSendSocket;
int port = 54321;
InetAddress bind;
try {
bind = InetAddress.getByName("192.168.1.100");
System.out.println(bind);
InetAddress group = InetAddress.getByName("239.0.1.1");
//
m_oSendSocket = new MulticastSocket(new InetSocketAddress(bind, 0));
m_oSendSocket.connect(group, port);
m_oSendSocket.setInterface(bind);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这段代码,在XP下运行,不会报任何的错误,我在vista下就会报错,错误信息
java.net.SocketException: 在一个非套接字上尝试了一个操作。
at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method)
at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:299)
at java.net.MulticastSocket.setInterface(MulticastSocket.java:424)
at com.trs.blog.util.TestSocket.main(TestSocket.java:24)
跪求,牛人,帮我解决一下,谢谢了!
MulticastSocket m_oSendSocket;
int port = 54321;
InetAddress bind;
try {
bind = InetAddress.getByName("192.168.1.100");
System.out.println(bind);
InetAddress group = InetAddress.getByName("239.0.1.1");
//
m_oSendSocket = new MulticastSocket(new InetSocketAddress(bind, 0));
m_oSendSocket.connect(group, port);
m_oSendSocket.setInterface(bind);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这段代码,在XP下运行,不会报任何的错误,我在vista下就会报错,错误信息
java.net.SocketException: 在一个非套接字上尝试了一个操作。
at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method)
at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:299)
at java.net.MulticastSocket.setInterface(MulticastSocket.java:424)
at com.trs.blog.util.TestSocket.main(TestSocket.java:24)
跪求,牛人,帮我解决一下,谢谢了!
TCP/IP协议 有问题
需要重装TCP/IP协议
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
1. 单击开始,然后单击运行。
2. 在打开框中,键入 regedit,然后按 Enter 键。
3. 浏览到以下注册表项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
4. 在注册表菜单上,单击导出注册表文件。
5. 在“文件名”框中,键入备份文件的名称;例如,键入 Winsock Registry key,然后单击保存。记下保存注册表文件的文件夹的名称。
6. 对以下注册项重复步骤 3 至步骤 5:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
7. 从注册表中删除以下项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
注意:步骤 3 至 6 备份了这两个注册表项。万一计算机出现意外行为,您可以使用备份文件还原这些注册表项。有关如何从 .reg 文件还原注册表项的更多信息,请在注册表编辑器帮助文件中搜索“导入或导出注册表项”主题。
8. 关闭注册表编辑器。
9. 卸载 TCP/IP 协议。为此,请按照下列步骤操作:
a. 在“控制面板”中,单击“网络和拨号连接”,右键单击局域网连接,然后在快捷菜单上单击属性。
b. 在“此连接使用选中的组件”下,单击 Internet 协议 (TCP/IP),然后单击卸载。
c. 按照屏幕上的说明卸载 TCP/IP。
10. 重新启动计算机,然后重新安装 TCP/IP(如果它未自动安装):
a. 在“控制面板”中,双击网络和拨号连接,右键单击局域网连接,然后在快捷菜单上单击属性。
b. 单击安装。
c. 在“选择网络组件类型”对话框中,单击协议,然后单击添加。
d. 在厂商下,单击 Microsoft,单击网络协议下的 Internet 协议 (TCP/IP),然后单击确定。
e. 按照屏幕上的说明安装 TCP/IP。