我想写一个代码,客户端向服务器发送10个整数,然后服务器计算这些数字的平均值,然后服务器将平均值发回客户端,我这样写服务器代码,必须使用特定的inet地址,我应该更改客户端和服务器之间的服务器端口吗?
import java.net.*;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class UDP_SERVER {
public static final int SERVICE_PORT = 7;
public static final int BUFSIZE = 4096;
byte[] bu = null;
private DatagramSocket socket;
public UDP_SERVER(){
try{
socket = new DatagramSocket( SERVICE_PORT );
}
catch (Exception e){
System.err.println ("Unable to bind port");
}
}
public void serviceClients(){
int sum = 0;
byte[] buffer = new byte[BUFSIZE];
for (;;){
try{
InetAddress addr = InetAddress.getLocalHost() ;
try{
DatagramPacket packet = new DatagramPacket(buffer, BUFSIZE);
socket.receive(packet);
ByteArrayInputStream bin = new ByteArrayInputStream(buffer);
DataInputStream d1 = new DataInputStream((bin));
sum = sum + d1.readInt();
}
catch (IOException ioe){
System.err.println ("Error : " + ioe);
}
double avg = sum / 10;
String a1 = Double.toString(avg);
bu = a1.getBytes();
DatagramPacket Dps = new DatagramPacket(bu, bu.length,addr, SERVICE_PORT);
socket.send(Dps);
}
catch (IOException ex){
System.err.println ("Error : " + ex);
}
}
}
public static void main(String args[]){
UDP_SERVER server = new UDP_SERVER();
server.serviceClients();
}
}
我该怎么办?我可以使用哪个net地址?
“BindException:地址已在使用中”表示另一个进程正在使用您尝试使用的端口。是否有另一个正在运行的程序副本,您忘记停止了?
作为“快速解决方案”,尝试使用另一个端口,例如:
public static final int SERVICE_PORT = 7777;
如果你的程序没有使用端口7,有一些Windows工具可以帮助你找到哪个程序正在使用它——看看在Windows上你如何找到哪个进程正在监听一个端口?
我对使用UDP协议的服务器和客户端之间的通信有一个非常奇怪的问题。客户端是用Mono2x编写的(我使用Unity 3D作为我的客户端)并创建Udp客户端类实例: 我的服务器是 UWP 应用程序,我想在使用 DatagramSocket 的 Raspberry Pi 上运行: 我将数据从客户端发送到服务器,但运气不佳。我用TCPView检查了数据是从我的客户端应用程序发送的,但从未到达服务器。现在是
我目前正在做一个项目,需要一个UDP通信之间的服务器亚马逊法兰克福)和几个主机(Arduino)。我需要能够发送JSON数据从服务器到主机通过UDP,它需要实时工作(时间是一个真正的限制在这里)。此外,主机将定期与服务器通话,通知服务器其状态。 我面临的问题是,虽然我可以ping服务器,但当我创建带有端口的UDP套接字时,我会得到这个错误(对于任何端口): errno99:无法分配请求的地址 我也
问题内容: 我正在尝试使用我一直在努力的客户端/服务器程序实现多线程。我需要允许多个客户端同时连接到服务器。我目前有4类:客户端,服务器,协议和用于处理线程的工作器。以下代码是我对这些类的拥有的代码: SocketServer类: SocketClient类别: 协议类别: ClientWorker类: 当我运行服务器和客户端时,一切正常。然后,当我尝试运行另一个客户端时,它只是挂在那儿,没有提示
我是 python 和套接字的新手,正在尝试编写一个回显客户端/服务器套接字。我已经编写了服务器,以便丢失 30% 的数据包。我将客户端编程为在一秒后超时,因为数据包可能会丢失。但是,每当我运行客户端套接字时,我的输出都是 100% 请求超时。我假设我得到这个输出,因为我的服务器从未收到过消息。我已经多次查看了我的代码,但无法弄清楚为什么我不断获得此输出。下面是我的服务器和客户端套接字的代码。任何
我正在寻找一些关于如何实现一个能够将音频发送到服务器的Java客户端的链接/源代码/教程(见下文)。它将能够发送一个音频文件,然后由服务器接收并通过计算机扬声器播放。 我还想问,对于这种情况,使用UDP或TCP服务器会更好吗?因为我将开发一个android应用程序,它可以录制声音,然后通过电脑扬声器将声音发送到服务器进行实时播放。
当涉及到TCP时,Netty确实有很好的文档记录,但我想尝试一个简单的UDP服务器-客户机示例,但没有找到任何好的代码。(主要是邮件列表和据称有错误代码的用户) 有人愿意提供一些简单的例子吗?谢谢!