udp传输过程中的端口被占用和socket关闭错误
2018-01-09 16:30
543 查看
最近在做的一个项目使用的是UDP传输,中间出现的问题我总结了一下。
1.报端口号被占用错误Android DatagramSocket error message: EADDRINUSE (Address already in use)
这种情况我发现是我的发送数据的端口号和接收数据的端口号是同一个端口号的问题,所以在设置端口号时尽量不要设置同一个端口号。
2.端口号被占用的时候,我尝试添加这些代码,发现不起作用,因为在端口号已经绑定的情况下,再解除绑定是不起作用的。 if (mySocket == null) {
mySocket = new DatagramSocket(myPort);
} else if (mySocket != null) {
mySocket = new DatagramSocket(null);
mySocket.setReuseAddress(true);
mySocket.bind(new InetSocketAddress(myPort));
}后来,我在socket关闭后解除了绑定,
3.使用单一模式创建socket的时候,不要关闭socket,否则会报java.net.SocketException: Socket is closed错误。
socket = MainApplication.getInstance().getMyDatagramSocket();4.没有使用单例模式的时候必须关闭socket。
mySocket = new DatagramSocket(Udp_port_send);
DatagramPacket pack = new DatagramPacket(info, info.length, receiverHost, Udp_port_send);
mySocket.send(pack);
mySocket.close();
1.报端口号被占用错误Android DatagramSocket error message: EADDRINUSE (Address already in use)
这种情况我发现是我的发送数据的端口号和接收数据的端口号是同一个端口号的问题,所以在设置端口号时尽量不要设置同一个端口号。
2.端口号被占用的时候,我尝试添加这些代码,发现不起作用,因为在端口号已经绑定的情况下,再解除绑定是不起作用的。 if (mySocket == null) {
mySocket = new DatagramSocket(myPort);
} else if (mySocket != null) {
mySocket = new DatagramSocket(null);
mySocket.setReuseAddress(true);
mySocket.bind(new InetSocketAddress(myPort));
}后来,我在socket关闭后解除了绑定,
mySocket.close(); mySocket.setReuseAddress(true);会报 java.net.SocketException: Socket is closed错误。
3.使用单一模式创建socket的时候,不要关闭socket,否则会报java.net.SocketException: Socket is closed错误。
socket = MainApplication.getInstance().getMyDatagramSocket();4.没有使用单例模式的时候必须关闭socket。
mySocket = new DatagramSocket(Udp_port_send);
DatagramPacket pack = new DatagramPacket(info, info.length, receiverHost, Udp_port_send);
mySocket.send(pack);
mySocket.close();
相关文章推荐
- 黑马程序员_温习 网络编辑一 (个人笔记)摘要(网络概述---网络参考模型---网络传输要素---IP地址---端口----传输协议(UDP -- TCP)---Socket机制 )
- Python的Socket编程过程中实现UDP端口复用的实例分享
- C#操作串口,带异常处理,解决端口占用时打开串口出现异常错误,串口关闭时发送数据报错
- C#操作串口,带异常处理,解决端口占用时打开串口出现异常错误,串口关闭时发送数据报错
- Socket关闭后端口仍然占用导致无法建立新的连接
- socket 关闭但端口占用问题 Bind: Address Already in Use Or How to Avoid this Error when Closing TCP Connections
- Python的Socket编程过程中实现UDP端口复用的实例分享
- IDEA Debug启动tomcat报60659端口占用错误
- Windos如何查看端口占用并关闭指定进程
- Eclipse非正常状态关闭导致端口占用问题解决方法
- 【Linux】如何关闭某个被占用的端口
- windows 端口被进程占用 但是进程已经关闭
- Dos命令查看端口占用及关闭进程
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
- 关闭被占用的tomcat端口
- 启动Tomcat时出现端口占用错误
- 移动终端访问互联网时socket的传输过程详解
- windows查看端口占用以及关闭相应的进程
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误
- socket之udp传输