字母一个就能发出去,发中文字符要10个服务器才接的到
服务器端代码:
public static void main(String[] args) throws Exception { // 所有异常抛出
ServerSocket server = new ServerSocket(8080); // 在8888端口上监听
Socket client = server.accept(); // 接收客户端请求
System.out.println("已连接");
PrintStream out = new PrintStream(client.getOutputStream()); // 取得客户端输出流
BufferedReader buf = new BufferedReader(new InputStreamReader(client
.getInputStream())); // 字符缓冲区读取
StringBuffer info = new StringBuffer(); // 接收客户端发送回来的信息
info.append("Android : "); // 回应数据
info.append(buf.readLine()); // 接收数据
System.out.println("发送完成"+info);
out.print(info); // 发送信息
out.close(); // 关闭输出流
buf.close(); // 关闭输入流
client.close(); // 关闭客户端连接
server.close(); // 关闭服务器端连接
}
客户端代码:
public void onClick(View view) {
try {
Socket client = new Socket("192.168.1.101"
, 8080);
PrintStream out = new PrintStream(
client.getOutputStream()); // 打印流输出
BufferedReader buf = new BufferedReader(
new InputStreamReader(
client.getInputStream())); // 缓冲区读取
String s=ed.getText().toString()+"";
out.println(s);
//out.println("何哈哈哈哈哈哈啊啊啊"); // 发送数据
System.out.println("发送完成");
MyClientDemo.this.info.setText(buf.readLine()); // 设置文本
out.close(); // 关闭输出流
buf.close() ; // 关闭输入流
client.close(); // 关闭连接
} catch (Exception e) {
e.printStackTrace();
}
}