我正在尝试通过套接字从我的Android设备向笔记本电脑上的服务器发送一些非常简单的数据,但是没有数据显示。这是android部分:(只要按一个按钮就会发送数据,因此为什么有意图)
protected void onHandleIntent(Intent workIntent) {
try {
Socket my_socket = new Socket(ip, 5000);
DataOutputStream st = new DataOutputStream(my_socket.getOutputStream());
st.write(21);
st.flush();
}catch(Exception e){
Log.v("ERROR","Something here went wrong" + e.getMessage());
}
}
这是服务器代码:
public static void main(String[] args){
try{
ServerSocket ss = new ServerSocket(5000);
System.out.println("Waiting for a client");
Socket s = ss.accept();
System.out.println("Client connected");
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
String input_line;
while((input_line = in.readLine()) != null){
System.out.println(input_line);
}
s.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
我不确定它是不是发送数据的android还是不接收数据的服务器,因为我尝试使用erlang套接字将数据发送到java服务器并且没有收到数据。
答案 0 :(得分:0)
客户应该将更多数据发送到行尾,例如'₩n' 让服务器赶上行尾...
如何添加PrinterWriter或BufferedWriter以使客户端更简单..因为它们有与行相关的方法。