我正在创建一个应用程序,客户端可以在按钮点击时向服务器发送一些文本。我想在控制台服务器端打印该文本,但每当按下客户端按钮时都没有任何反应。
有时我在控制台android.support.v7.widget.AppCompatEditText@b2253390
上获得此行。
我不明白为什么会发生这种情况?
服务器代码:
public static ServerSocket server = null;
public static Socket client = null;
public static void main(String []arg)throws IOException{
try {
server = new ServerSocket(8002);
System.out.println("Server Started...............");
while(true){
client = server.accept();
DataInputStream in = new DataInputStream(client.getInputStream());
String msg = in.readLine();
System.out.println("and: "+msg);
}
}catch(IOException r){
System.out.println("error :"+r.getMessage());
}
}
客户代码:
public void send(){
send.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Socket cs = null;
try {
cs = new Socket("192.168.1.100", 8002);
DataOutputStream out = new DataOutputStream(cs.getOutputStream());
out.writeBytes(text.toString());
} catch (IOException e) {
Toast.makeText(KeyboardActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
);
}
答案 0 :(得分:2)
这是因为EditText
是out.writeBytes(text.getText().toString());
。
我认为你的意思是,
out.writeBytes(text.toString());
而不是,
template<typename... Types>
auto for_each(type_list<Types...>) {
return [](auto&& f) {
using swallow = int[];
(void) swallow { 0, (void(f(tag<Types>{})), 0)... };
};
}
答案 1 :(得分:-2)