我搜索过并没有找到XMPP使用的端口.我需要实现XMPP服务器和客户端,并使用XML传输,文件传输和流式传输.他们使用不同的端口?有没有办法可以让他们使用所有相同的,所以我不需要打扰网络管理员?谢谢
我正在尝试修复一个问题,在我的应用程序中我有这个代码
try {
object1.method1();
} catch(Exception ex) {
JOptionPane.showMessageDialog(nulll, "Error: "+ex.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
而object1会做类似的事情:
public void method1() {
//some code...
throw new RuntimeException("Cannot move file");
}
Run Code Online (Sandbox Code Playgroud)
我的选项窗格中出现了这样一个消息:
Error: java.lang.RuntimeException: Cannot move file
但是我使用的getMessage不是toString方法,所以不应该出现类的名称,对吧?
我做错了什么?我已经尝试了很多例外,甚至Exception本身.我希望解决这个问题,而不需要实现我自己的Exception子类
问题已解决 - 谢谢大家!
实际上是在SwingWorker的get()方法中调用了try和catch,它构造了一个ExecutionException从doInBackground抛出的异常()
我修复了这样做:
@Override
protected void done() {
try {
Object u = (Object) get();
//do whatever u want
} catch(ExecutionException ex) {
JOptionPane.showMessageDialog(null, "Error: "+ex.getCause().getMessage());
} catch(Exception ex) { …Run Code Online (Sandbox Code Playgroud) 所以我有一个像这样的字符串:
"Some text here?Some number here"
Run Code Online (Sandbox Code Playgroud)
我需要拆分那些,我正在使用String.split("\\?"),但如果我有这样的字符串:
"This is a string with, comma?1234567"
Run Code Online (Sandbox Code Playgroud)
我也把它分成了逗号(,).如果我有这个字符串:
"That´s a problem here?123456"
Run Code Online (Sandbox Code Playgroud)
它也分裂了´,那我怎么解决这个问题呢?
我正在尝试用Java共享原型/软件的p2p文件.我有兴趣学习使用socket,所以不,我不会使用JXTA或任何类型的API.
我读过关于TCP打孔的内容,它可能不适用于所有NAT类型.但我可以看到Gnutella和BitTorrent总是适用于我尝试的每台机器/ NAT.那么他们是否使用TCP Hole Punching来启动主机之间的连接?
此外,像这样的代码会进行TCP打孔吗?
final ServerSocket s = new ServerSocket(7777);
Thread t = new Thread(new Runnable(){
public void run() {
try
{
s.accept();
}
catch(Exception ex)
{
}
}
});
Socket sock = new Socket();
sock.connect(new InetSocketAddress("IP ADDRESS", 7777), 50000);
Run Code Online (Sandbox Code Playgroud) 我正在尝试在java中实现自己的远程桌面解决方案.使用套接字和TCP/UDP.我知道我可以使用VNC或其他任何东西,但它是我想要做的学校任务.
因此,为了移动鼠标并单击,我可以使用Robot类.我有两个问题:
发送视频怎么样?我知道Robot类也可以捕获屏幕,所以我应该按顺序发送图像并按顺序显示在连接的另一端?这是实现远程桌面的最佳方式吗?
我还应该使用TCP还是UDP?我认为UDP将更难实现,因为我必须弄清楚哪个图像接着另一个.
我需要使用Jersey构建一个web服务,从另一个服务下载一个大文件并返回给客户端.我希望jersey将一些字节读入缓冲区并将这些字节写入客户端套接字.
我希望它使用非阻塞I/O,所以我不要让线程忙.(这无法实现)
@GET
@Path("mypath")
public void getFile(final @Suspended AsyncResponse res) {
Client client = ClientBuilder.newClient();
WebTarget t = client.target("http://webserviceURL");
t.request()
.header("some header", "value for header")
.async().get(new InvocationCallback<byte[]>(){
public void completed(byte[] response) {
res.resume(response);
}
public void failed(Throwable throwable) {
res.resume(throwable.getMessage());
throwable.printStackTrace();
//reply with error
}
});
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有这个代码,我相信泽西岛将下载完整的文件,然后将其写入客户端,这不是我想要做的.有什么想法吗??
检查此代码
Thread t1 = new Thread(new Runnable() {
@Override
public void run()
{
try
{
System.out.println("STARTING SERVER...");
ServerSocket s = new ServerSocket(2544);
System.out.println("SERVER BLOCKED ON ACCEPT");
Socket ss = s.accept();
System.out.println("SERVER NOT BLOCKED ANYMORE");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
t1.start();
Thread t2 = new Thread(new Runnable() {
@Override
public void run()
{
try
{
while(true)
{
Thread.sleep(1000);
System.out.println("Hello");
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
t2.start();
Run Code Online (Sandbox Code Playgroud)
输出:
STARTING SERVER...
SERVER BLOCKED ON ACCEPT
Hello
Hello …Run Code Online (Sandbox Code Playgroud) 在我工作的地方,我们需要一个能够:
它将在java中实现.所以我有一些问题,因为我还没有实现过网络协议.
我在Java和C++方面有很好的背景,但还没有使用套接字/网络编程.
谢谢
我运行了那些代码,我得到了一些问题,这有点奇怪.
使用字符串:
while(true)
{
String s = String.valueOf(System.currentTimeMillis());
System.out.println(s);
Thread.sleep(10);
}
Run Code Online (Sandbox Code Playgroud)
使用StringBuilder:
StringBuilder s = null;
while(true)
{
s = new StringBuilder();
s.append(System.currentTimeInMillis());
System.out.println(s);
Thread.sleep(10);
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,他们都会陷入12540 K的内存浪费.在Windows XP SP2上运行此测试.
他们为什么浪费相同数量的记忆?为什么不可变的String会停止浪费内存?偏离主题:如何转换StringBuilder为特定字符集中编码的字节数组?
有没有办法可以通过系统调用来获取 Android 中的实际电池电压?我希望做这样的事情:
double voltage = getVoltage();
//run code
double newVoltage = getVoltage();
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑-工作代码:
fun getVoltage(context: Context): Int {
val intent = context.registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))
return intent?.getIntExtra(android.os.BatteryManager.EXTRA_VOLTAGE, -1) ?: -1
}
Run Code Online (Sandbox Code Playgroud) java ×8
networking ×2
string ×2
android ×1
bittorrent ×1
desktop ×1
immutability ×1
jersey ×1
kernel ×1
nonblocking ×1
ports ×1
protocols ×1
scalability ×1
sockets ×1
split ×1
tcp ×1
web-services ×1
xmpp ×1