通过Internet传输文件有哪些优点(或限制)?
(我知道两种协议的安全形式.我希望通过个人经验在性能,可靠性,文件大小限制等方面进行比较.)
我有一个看似非常烦人的问题.在Eclipse中编译项目时,我看不到任何显示Java编译器调用和构建结果的控制台(如NetBeans中所示).
例如,如果我将现有项目导入Eclipse并调用Project-> Build Project,是否有一个视图会显示编译结果?虽然我知道我的项目包含许多有错误的文件,但调用Build Project却没有显示编译的可视结果/进度.它没有显示错误列表,因此我可以快速跳转到它们.
我知道有一个"问题"视图,它显示了所有项目中的问题列表(而不仅仅是编译器错误)而不是我正在使用的特定项目,这使得定位和跳转到非常不方便问题的根源.
在Java中使用套接字时,如何在开始处理之前判断客户端是否已完成发送所有(二进制)数据.考虑例如:
istream = new BufferedInputStream (socket.getInputStream());
ostream = new BufferedOutputStream(socket.getOutputStream());
byte[] buffer = new byte[BUFFER_SIZE];
int count;
while(istream.available() > 0 && (count = istream.read(buffer)) != -1)
{
// do something..
}
// assuming all input has been read
ostream.write(getResponse());
ostream.flush();
Run Code Online (Sandbox Code Playgroud)
我对SO如阅读类似的帖子这个,也没有找到确凿的答案.虽然上面的解决方案有效,但我的理解是,您永远无法确定客户端是否已完成发送所有数据.例如,如果客户端套接字发送了一些数据块然后阻止等待来自另一个数据源的数据,然后它可以发送更多数据,那么上面的代码可能很好地假设客户端已完成发送所有数据,因为istream.available()将为当前字节流返回0 .
大多数关于安全性的文献都谈到了在开始研究机制和实施之前定义安全策略的重要性.虽然这似乎是合乎逻辑的,但尚不清楚定义安全政策的真正含义.
这里有没有人有定义安全策略的经验,如果有的话:
1)这样一个定义的结果是什么?这种政策的形式,例如分布式系统,是否包含一系列关于系统安全要求(允许和不允许)的声明的文件?
2)策略可以采用机器可读的形式(如果有意义的话),如果是这样,它如何使用?
3)如何维持这样的政策?策略是否作为系统上的文档(与所有其他文档一样)维护?
4)是否有必要在代码中引用政策文件?
布赖恩
为了实现使用多播向网络中的其他进程发送小型周期性消息的网络应用程序,我在.Net框架中使用API有哪些选择?除了我明显的当前选择,System.net.sockets API,WCF是否提供了更简单的方法?或者WCF纯粹是基于SOA的点对点IPC机制?
注意:我非常熟悉多播编程的实现细节.我感兴趣的是.Net框架提供的其他选择.
关于IV生成,加密和共享发送方和接收方之间的IV有很多问题,但我想明确发布关于从发送方发送到接收方的最佳方式.
从我到目前为止看到的所有帖子中,我不确定以"明文"发送IV是否可以通过将其添加到密文来安全.所以第一个问题是,这样做是否安全?
第二,在通过交换消息进行通信时,是否有更安全的方式在发送方和接收方之间共享IV?
干杯
我想知道是否有一种简单的方法可以通过排除字符串中的某些字符来检查两个字符串是否匹配.见下面的例子.
我可以通过编写正则表达式来查找"通配符"字符,并用常用字符替换它们,从而轻松编写这样的方法.然后比较两个字符串str1和str2.我不是在寻找这样的实现,而是想知道是否有任何.Net框架类可以解决这个问题.似乎是一种常见的需求,但我找不到任何这样的方法.
例如:
string str1 = "ABC-EFG";
string str2 = "ABC*EFG";
Run Code Online (Sandbox Code Playgroud)
必须声明两个字符串相等.
谢谢!
考虑一种情况,其中控制台应用程序一个接一个地请求一系列输入.在继续下一个输入之前验证每个输入.现在,如果用户输入的内容无效,则会显示错误消息,并询问用户是否要继续.如果用户选择"否",则中止输入过程.如果用户选择是,则允许用户再次重新键入输入,并且通过询问剩余的输入继续该过程.
如果我使用read()方法处理用户输入(也验证输入并询问用户是否希望继续[y/n])如果用户选择不继续则返回false,那么我将不得不检查对于每个read()调用的结果,然后继续下一个
例如:
bool valid = read("Name");
if (valid) valid = read("Age");
if (valid) valid = read("Sex");
if (valid) valid = read("DoB");
if(valid)
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
或者,如果用户选择停止,我可以让read()方法抛出异常,在这种情况下我的代码将成为:
try {
read("Name");
read("Age");
read("Sex");
read("DoB");
// do stuff
}catch(input_exception& e)
{}
Run Code Online (Sandbox Code Playgroud)
您会选择以下哪种方法?为什么?(假设read()方法在清理后正确抛出异常)
注意:我不是在寻找支持和反对异常的论据,这在SO上是非常可用的.我只是在寻找具体问题的答案.