- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近被要求为我工作的公司开发一个 Android 应用程序。我的经验主要集中在 Ruby/C++/C# 上,因此 Java 编程(尽管它很熟悉 sintax)对我来说是一个新事物。
我的客户端(Java)上有这个方法,它基本上通过套接字建立到 Ruby 服务器的连接。当向服务器发送文本时它工作得很好。这是服务器和客户端的代码。
客户端(JAVA)
public static void call_socket(String[] cadena)
{
PrintWriter salida;
DataInputStream entrada;
try
{
if(SocketClass.sockethost == "")
{
if(SocketClass.socketport == 0)
{
get_instalacion();
}
}
Socket clientSocket = new Socket();
clientSocket.bind(null);
clientSocket.connect(new InetSocketAddress(SocketClass.sockethost, SocketClass.socketport),30000);
salida = new PrintWriter(clientSocket.getOutputStream(), true);
salida.println(Arrays.toString(cadena));
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception creating new Input/output Streams: " + e);
return;
}
};
服务器(RUBY)
require 'socket'
require 'pg'
require 'openssl'
server = TCPServer.new('0.0.0.0',3000)
loop do
Thread.start(server.accept) do |client|
chain= client.gets
chain= chain.delete('[')
chain = chain.delete(']')
chain = chain.gsub(/\s+/, "")
chain = chain.gsub(',', "|")
arr_cade = chain.split("|")
pg_conn = PGconn.connect(:host=> 'localhost', :dbname => 'termventas', :port => 5432, :user => 'postgres', :password=> 'pass')
case arr_cade[1]
when "01"
arr_cade[2] = arr_cade[2].gsub(/\s+/, "")
arr_cade[2]= arr_cade[2].upcase
arr_cade[3] = arr_cade[3].upcase
result = pg_conn.exec("SELECT entrada, clave_venta FROM terminales_usuarios
WHERE entrada = '#{arr_cade[2]}'
AND clave_venta = '#{arr_cade[3]}'")
if result.count == 0 || result == nil
puts "Empty"
else
client.puts "Welcome"
end
end
pg_conn.PGconn.close()
client.close
end
end
现在,正如我所说,在向服务器发送请求时一切正常,我能够发送正确的字符串[]并在套接字服务器上正确评估它。现在我正在尝试在客户端实现从服务器获取输入。我做了一些研究,这基本上是我发现需要完成的工作,以便捕获服务器产生的输入:
BufferedReader server_input= new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String answer_back= server_input.readLine();
Log.v("Response", answer_back);
但是,如果我这样做,它会提示我添加一个 throw 声明或用 try/catch 包围它。我继续添加 try/catch 并编译我的代码。
执行触发其挂起的套接字连接的操作后,接下来会发生什么。应用程序不会崩溃或发生任何事情,套接字只是不响应(既不发送/接收)。我真的不知道是什么原因造成的。如果我删除涉及捕获和显示服务器返回的字符串的句子,则一切正常。
有什么想法吗?
顺便说一句,我使用 Eclipse 并使用模拟器来模拟我的 Android 设备。
最佳答案
好的,我知道我的问题出在哪里了。它不是在我的客户端(Java),而是在我的服务器(Ruby)。当我执行 SQL 查询以确定是否有使用通过套接字发送的数据进行注册时,当没有找到注册表时,我不会将任何响应发送回客户端。看看我有这一行:
puts "Empty"
这实际上只是在我的服务器日志中打印结果。通过更改实际传递给客户端的响应,我只是这样做了:
client.puts "Empty"
因此,我的java客户端两次都收到了来自服务器的响应(当sql查询返回某些内容或不返回某些内容时)并且它不再挂起,我认为这是由客户端“监听”并期待回复引起的从服务器,但从来没有真正得到任何(除非 sql 查询返回 nil 以外的东西)。
希望这对将来的任何人都有用。感谢所有花时间查看/回复我的消息的人。
关于Java 客户端/Ruby 服务器套接字连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26052263/
我使用下拉菜单提供一些不同的链接,但我希望这些链接在同一选项卡中打开,而不是在新选项卡中打开。这是我找到的代码,但我对 Javascript 非常缺乏知识 var urlmenu = docume
我对 javascript 不太了解。但我需要一个垂直菜单上的下拉菜单,它是纯 JavaScript,所以我从 W3 复制/粘贴脚本:https://www.w3schools.com/howto/t
我已经坐了 4 个小时,试图让我的导航显示下 zipper 接垂直,但它继续水平显示它们。我无法弄清楚为什么会发生这种情况或如何解决它。 如果有人能告诉我我做错了什么,我将不胜感激。我有一个潜移默化的
我正在尝试创建选项卡式 Accordion 样式下拉菜单。我使用 jQuery 有一段时间了,但无法使事件状态达到 100%。 我很确定这是我搞砸的 JS。 $('.service-button').
对于那些从未访问过 Dropbox 的人,这里是链接 https://www.dropbox.com/ 查看“登录”的下拉菜单链接。我如何创建这样的下 zipper 接? 最佳答案 这是 fiddle
我正在制作一个 Liferay 主题,但我在尝试设计导航菜单的样式时遇到了很多麻烦。我已经为那些没有像这样下拉的人改变了导航链接上的经典主题悬停功能: .aui #navigation .nav li
如果您将鼠标悬停在 li 上,则会出现一个下拉菜单。如果您将指针向下移至悬停时出现的 ul,我希望链接仍然带有下划线,直到您将箭头从 ul 或链接移开。这样你就知道当菜单下拉时你悬停在哪个菜单上。 知
我有一个带有多个下拉菜单的导航栏。因此,当我单击第一个链接时,它会打开下拉菜单,但是当我单击第二个链接时,第一个下拉菜单不会关闭。 (所以如果用户点击第二个链接我想关闭下拉菜单) // main.js
我正在尝试制作一个导航下拉菜单(使用 Bootstrap 3),其中链接文本在同一行上有多个不同的对齐方式。 在下面的代码中,下拉列表 A 中的链接在 HTML 中有空格字符来对齐它们,但是空白被忽略
我希望有人能帮我解决这个 Bootstrap 问题,因为我很困惑。 有人要求我在底部垂直对齐图像和其中包含图像的链接。 我面临的问题是他们还希望链接在链接/图像组合上具有 pull-right,这会杀
我正在构建一个 Rails 应用程序,并希望指向我的类的每个实例的“显示”页面的链接显示在“索引”页面的下拉列表中。我目前正在使用带有 options_from_collection_for_sele
我有以下 Bootstrap3 导航菜单 ( fiddle here )。我想设置“突出显示”项及其子链接与下拉列表 1 和 2 链接不同的链接文本(和悬停)的样式。我还希望能够以不同于 Highli
我对导航栏中的下拉菜单有疑问。对于普通的导航链接(无下拉菜单),我将菜单文本放在 H3 中,但是当我尝试对下 zipper 接执行相同操作时,箭头不在标题旁边,而是在标题下方。我决定用 span 替换
我是一名优秀的程序员,十分优秀!