我的客户端与之通信的服务器软件定期在端口4000上发送事务消息.我需要逐行将这些消息打印到控制台.(最终我必须将这些值写入表中,但我将其保存以供以后使用.)
我试过这段代码,但它没有输出任何东西:
package merchanttransaction;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.ClassNotFoundException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class MerchantTransaction {
public static void main(String[] args) {
try {
InetAddress host = InetAddress.getLocalHost();
Socket socket = new Socket("192.168.1.104", 4000);
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message = (String) ois.readObject();
System.out.println("Message: " + message);
ois.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我需要能够监视该端口,直到程序终止.我不确定上面的代码是否能够这样做,因为我没有看到代码的任何迭代.
我正在使用在Ubuntu上运行的Java版本1.6.0_24,SE运行时环境(版本1.6.0_24-b07).
我使用Bing地图WPF控件创建了一个WPF应用程序.我希望能够只截取Bing地图控件.
使用此代码制作屏幕截图:
// Store the size of the map control
int Width = (int)MyMap.RenderSize.Width;
int Height = (int)MyMap.RenderSize.Height;
System.Windows.Point relativePoint = MyMap.TransformToAncestor(Application.Current.MainWindow).Transform(new System.Windows.Point(0, 0));
int X = (int)relativePoint.X;
int Y = (int)relativePoint.Y;
Bitmap Screenshot = new Bitmap(Width, Height);
Graphics G = Graphics.FromImage(Screenshot);
// snip wanted area
G.CopyFromScreen(X, Y, 0, 0, new System.Drawing.Size(Width, Height), CopyPixelOperation.SourceCopy);
string fileName = "C:\\myCapture.bmp";
System.IO.FileStream fs = System.IO.File.Open(fileName, System.IO.FileMode.OpenOrCreate);
Screenshot.Save(fs, System.Drawing.Imaging.ImageFormat.Bmp);
fs.Close();
Run Code Online (Sandbox Code Playgroud)
我的问题:
在Width和Height似乎是坏的(假值).生成的屏幕截图似乎使用了不良坐标.
我的截图:

我期待的是:

为什么我得到这个结果?我尝试在发布模式下,没有Visual Studio,结果是一样的.
我需要为kgdb-gdb远程连接创建串口套接字.
就像mkfifo在系统上创建FIFO一样,我们如何创建套接字文件?
我练的C代码转换成MIPS汇编语言,和我无法理解的使用move和li在变量赋值.
例如,要在MIPS中实现以下C行:
int x = 0;
Run Code Online (Sandbox Code Playgroud)
如果我理解正确(尽管我非常怀疑),看起来这两个都在MIPS汇编器中工作:
move $s0, $zero
li $s0, $zero
Run Code Online (Sandbox Code Playgroud)
我错了吗?这两条线有什么区别?
昨天,我在GitHub上推送了ConnectBot的分支.我推了一次,意识到我没有按照我想要的方式进行更改,重新提交并再次推送.
现在,GitHub都提交了两个提交:
我的主分支只跟踪第二次提交,但第一次提交仍然可用,仍然在我的活动源中.如何删除它以确保没有人意外地提取该提交而不是更正的版本?
我想对一组项目(大小可能大于100,000)进行排序或排序,其中集合中的项目没有内在(可比较)值,而我所拥有的是用户提供的任何两个项目之间的比较.一种主观的方式.
例如:考虑的元素的集合[a, b, c, d]用户和比较b > a,a > d,d > c.这个集合的正确顺序是[b, a, d, c].
这个例子很简单,但可能会有更复杂的情况:
c > b.在这种情况下会导致与上面的排序冲突.b > a,d > c.在这种情况下,排序是模糊的.它可能是[b, a, d, c]或[d, c, b, a].在这种情况下,任何订购都是可以接如果可能的话,以某种方式考虑相同比较的多个实例并且给予具有更高发生率的那些更多权重将是很好的.但是没有这种条件的解决方案仍然可以接受.
Zuckerberg的FaceMash应用程序使用了这种算法的类似应用,他根据比较对人进行了排名(如果我理解正确的话),但是我无法找到该算法实际上是什么.
是否存在可以解决上述问题的算法?如果是这样的话,我不想花钱努力想出一个.如果没有特定的算法,是否有某些类型的算法或技术可以指向我?
为什么Java中的main方法总是需要参数?我们为什么要String[] args每次都写,而不是在我们使用任何参数时写它?
像这样的方法会产生Main method not found编译器错误.由于我们从不对main方法使用任何参数,因此应该允许这样做.
public static void main()
{
}
Run Code Online (Sandbox Code Playgroud)
这不是面试问题.编程时我才想到它.
我已将PHP版本更新为5.5.26.使用PHP 5.4,我使用FCGI的Apache配置是:
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
Run Code Online (Sandbox Code Playgroud)
使用新版本的PHP我需要将其他配置工作:
<FilesMatch \.php$>
SetHandler fcgid-script
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
没关系,它正在发挥作用.
我的问题是Webmin的Virtualmin模块.我不想每次都更改配置,所以我编辑了Perl文件/usr/share/webmin/virtual-server/php-lib.pl:
# Directives for fcgid
local $dest = "$d->{'home'}/fcgi-bin";
#push(@phplines, "AddHandler fcgid-script .php");
# New config for PHP files
push(@phplines, "<FilesMatch \\.php\$>");
push(@phplines, "SetHandler fcgid-script");
push(@phplines, "</FilesMatch>");
push(@phplines, "FCGIWrapper $dest/php$ver.fcgi .php");
foreach my $v (&list_available_php_versions($d)) {
#push(@phplines,
# "AddHandler fcgid-script .php$v->[0]");
push(@phplines, "FCGIWrapper $dest/php$v->[0].fcgi " . ".php$v->[0]");
}
Run Code Online (Sandbox Code Playgroud)
但是我的改变没有做任何事,Webmin继续推行AddHandler.我重新启动了Webmin,我清除了文件/etc/webmin/module.infos.cache.
我有一个.resx包含名称 - 值对(两个字符串)的文件.现在我想使用C#以编程方式修改某些名称 - 值对中的值.我怎样才能做到这一点?
我正在尝试为ImageMagickNet类添加自定义函数.它应该使用IsSimilarImage magickImageMagick.NET项目中的方法,但我对是否必须通过Magick ++路由此方法感到困惑,因为.NET端可用的任何功能都源于Magick ++.