安卓使用socket建立通信客户端不显示数据

来源:互联网 发布:it行业发展前景分析 编辑:程序博客网 时间:2024/06/08 19:17
socket是通信的桥梁,(=@__@=)拿手机和电脑来说,通过socket可以建立两者之间的通信,一般在电脑上是服务器端,写一段java代码如下
public class MySocket {public static void main(String[] args) throws IOException{// TODO Auto-generated method stubServerSocket serverSocket = new ServerSocket(32345);while(true){        Socket s = serverSocket.accept();        OutputStream os = s.getOutputStream();        os.write("你好".getBytes("utf-8"));       // JOptionPane.showMessageDialog(null, "有客户端连接到了本机的1235端口");        os.close();        s.close();}        }}
这里需要注意JOptionPane.showMessageDialog(null, "有客户端连接到了本机的1235端口");要放在代码最后,不然会出现手机端数据不显示的情况。然后手机端是建立一个安卓项目,
public class MainActivity extends Activity{EditText show;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);show = (EditText) findViewById(R.id.show);new Thread(){@Overridepublic void run(){try{// 建立连接到远程服务器的SocketSocket socket = new Socket("192.168.1.106" , 32345);  // ①// 将Socket对应的输入流包装成BufferedReaderBufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));// 进行普通I/O操作String line = br.readLine();show.setText("来自服务器的数据:" + line);// 关闭输入流、socketbr.close();socket.close();}catch (IOException e){e.printStackTrace();}}}.start();}}

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><EditTextandroid:id="@+id/show"  android:layout_width="match_parent" android:layout_height="wrap_content" android:editable="false"android:cursorVisible="false"android:textColor="#000"/></LinearLayout>



1 0
原创粉丝点击