//Android主要代码:
public void onClick(View v) {
// TODO Auto-generated method stub
String sendM = " " + this.message.getText().toString();
this.addMessage(sendM ); //发送消息。
this.socketSend();
this.socketReceive();
this.message.setText("");
}
private void addMessage(String message){
TextView t = new TextView(ctx);
t.setLayoutParams(new TableLayout.LayoutParams(FILL_PARENT,WRAP_CONTENT));
t.setText(message);
table.addView(t);
}
private void socketSend(){
try {
String message = this.message.getText().toString();
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
out.println(message);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void socketReceive(){
try {
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String receive = "服务器:" + in.readLine() + "\n";
this.addMessage(receive);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//可以发送英文数字,就是发送中文的 时候容易死机
//服务器端:
ublic class TcpAndroidServer implements Runnable{
public static final int SERVER_PORT = 51706;
@Override
public void run() {
// TODO Auto-generated method stub
try {
System.out.println("start .....");
ServerSocket serverSocket = new ServerSocket(SERVER_PORT);
//while(true){
System.out.println("listening .....");
Socket client = serverSocket.accept();
System.out.println("连接上..");
while(true){
String receive = this.read(client);
this.write(client,receive);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
System.out.println("退出..");
}
}
public void write(Socket socket,String message) throws IOException {
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),true);
out.println(message);
}
public String read(Socket socket) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
String str = in.readLine() + ":服务端";
System.out.println("Client say: " + str);
return str;
}
}
就是中文有问题,不知道为什么!按道理将字节流已经转换成为了字符流,应该没有问题了,但是就是不行啊!!
应该说可以,但是连续发送中文,就出现死机的问题!!
相关推荐
Android通过socket套接字实现网络连接,通过ip地址和ip端口实现访问服务器,从而实现客户端和服务器的连接,然后实现两者数据的互连
在Android中,还需要处理权限问题。在AndroidManifest.xml文件中,添加如下权限声明: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 此外,为了优化性能和用户体验,可以考虑使用...
本项目“Android socket通讯QQ”提供了一个简单的实现,包括客户端和服务端两部分,旨在帮助开发者理解和实践如何在Android平台上构建基于Socket的即时通讯应用。以下是关于这个主题的详细知识点: 1. **Socket基础...
Android OkSocket是一款基于JavaNIO和传统Socket的一款Socket客户端整体解决方案.您可以使用它进行简单的基于Tcp协议的Socket通讯,当然,也可以进行大数据量复杂的Socket通讯,支持单工,双工通讯.
总结,Android实现Socket通讯涉及创建和管理Socket对象,以及正确处理网络数据的读写。通过上述步骤,开发者可以构建基本的客户端-服务器通信模型,进一步扩展功能,如数据序列化、心跳机制、断线重连等,以满足各种...
本示例"Android Socket通讯demo"旨在演示如何在Android应用中建立和使用Socket连接,实现双向的数据收发操作。以下是关于Android Socket通信的关键知识点和详细说明。 1. **Android权限设置**: 在AndroidManifest...
**Android端Socket框架EasySocket详解** 在Android应用开发中,Socket通信是实现设备间数据传输的重要方式,尤其在需要实时性、低延迟的场景中,如游戏、聊天应用等。EasySocket是一个专为Android设计的轻量级...
在Android平台上进行即时通讯(Instant Messaging,简称IM)开发,Socket通信是不可或缺的一部分。Socket提供了一种在网络中两台设备间建立可靠数据传输的机制,它允许Android客户端与服务器之间进行实时、双向的...
本文将深入探讨Android Socket源码实现与PC通讯的核心概念、步骤以及具体Java源码解析。 Socket,也被称为套接字,是网络编程中的基本组件,它提供了进程间通信(IPC,Inter-Process Communication)的能力,尤其...
在Android开发中,Socket通信是实现设备间网络通信的一种常见方式。Socket分为客户端(Socket Client)和服务器端(Socket Server),它们共同构成了基于TCP/IP协议的通信模型。本篇文章将详细探讨Android环境下如何...
本资源"Android Studio Socket通讯客户端.rar"就是一个适合新手学习的TCP通信客户端示例。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP通信中,客户端首先...
总之,Android Studio与Unity3D的Socket通讯是跨平台应用开发中的关键技术,通过理解TCP/IP协议、Socket编程以及Android和Unity3D的API,开发者可以实现高效、稳定的数据交换,为用户提供丰富的互动体验。
可直接导入eclipse用,可直接运行,没有错误;...实现Java端作为Server,Android作为客户端之间的通讯; 服务器一直在运行,等待一个或多个客户端接入; 客户端一直可以向服务器发送消息,同时接受服务器发过来的消息;
本教程将深入探讨如何使用Android Socket编程实现Android设备与PC之间的通讯。 首先,我们要理解Socket的基本概念。Socket是网络编程中的一个接口,它允许两个网络应用程序通过TCP/IP协议进行通信。在Android平台上...
本主题聚焦于"Android与.NET通过Socket通讯",这是一个涉及客户端(Android)和服务器端(.NET)之间实时数据交换的技术。Socket编程是一种网络编程接口,允许两个网络应用程序通过TCP/IP协议进行通信。以下是对这个...
这个压缩包"Android Socket编程源码(与PC通讯).zip"包含了用于演示如何让Android设备与个人计算机(PC)通过网络进行数据交换的源代码。让我们深入探讨一下Android Socket编程以及它如何与PC进行通讯。 首先,...
在本实例中,“Android用socket实现TCP通讯”是通过Socket类和ServerSocket类来建立服务端和客户端之间的通信桥梁。 首先,我们来看看服务端(Server)的实现。在Android应用中,由于系统安全限制,通常不直接在...
在Android开发中,Socket长连接是一种常见的通信方式,特别是在实时性要求高的应用中,如即时通讯、在线游戏等。为了保持连接的稳定性和检测网络状况,通常会采用心跳检测机制。下面将详细介绍Android中实现Socket长...
简单的Android Socket 编程实例,有单独的客户端及服务器端源码。两台Android设备同时连接同一个WiFi或路由器(局域网);客户端通过UDP广播获取到服务器端的IP地址,通过TCP/IP协议与服务器建立连接。代码实现心跳...