【发布时间】:2019-08-22 06:26:35
【问题描述】:
我已经获取了手动输入的 Socket Ip 和端口,现在我想为套接字连接设置超时。以及如何在下面的代码中向客户端发送数据。
public void run() {
try {
socket = new Socket(eHostIp.getText().toString(), Integer.parseInt( eHostPort.getText().toString() ) );
socket.connect( );
//PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
//out.println("");
eReceiveData.setText( "Server Connected" );
//eReceiveData.setText( socket.getInputStream().read() );
BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream() ), 1024 );
eReceiveData.setText( "Server Connected... XXXXXXX" );
String line;
while ((line = in.readLine()) != null) {
Log.d("read line",line);
eReceiveData.setText( line );
socket.close();
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} );
thread.start();
【问题讨论】:
-
这个是一个客户。这里甚至没有任何东西连接到客户端,更不用说在任何地方发送任何东西了。关闭该读取循环内的连接完全是零意义。
-
我只是在尝试它,因为服务器响应仅在套接字关闭时收到。但是一旦发送,我希望它在现场。请帮助我在发送后从服务器接收数据。 @user207421
-
在没有看到服务器代码的情况下很难调试,nicht war?
标签: java android sockets server client-server