zoukankan      html  css  js  c++  java
  • 安卓使用socket建立通信客户端不显示数据

    socket是通信的桥梁,(=@__@=)拿手机和电脑来说,通过socket可以建立两者之间的通信,一般在电脑上是服务器端,写一段java代码如下
    public class MySocket {
    
    	public static void main(String[] args) 
    			throws IOException
    	{
    		// TODO Auto-generated method stub
    		ServerSocket 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;
    	@Override
    	public void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		show = (EditText) findViewById(R.id.show);
    		new Thread()
    		{
    			@Override
    			public void run()
    			{
    				try
    				{
    					// 建立连接到远程服务器的Socket
    					Socket socket = new Socket("192.168.1.106" , 32345);  // ①
    					// 将Socket对应的输入流包装成BufferedReader
    					BufferedReader br = new BufferedReader(
    							new InputStreamReader(socket.getInputStream()));
    					// 进行普通I/O操作
    					String line = br.readLine();
    					show.setText("来自服务器的数据:" + line);
    					// 关闭输入流、socket
    					br.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">
    <EditText
    	android:id="@+id/show"  
    	android:layout_width="match_parent" 
    	android:layout_height="wrap_content" 
    	android:editable="false"
    	android:cursorVisible="false"
    	android:textColor="#000"
    	/>
    </LinearLayout>



    成功无捷径,学习有方法!
  • 相关阅读:
    模拟一个弹出层
    mysql去重
    java 使用map返回多个对象组装
    java替换包含html标签
    java 给指定时间加上天数or给当前日期加天数
    js下载文件 阿星小栈
    Redis中Set集合命令 阿星小栈
    Mysql查询不为null值和字段为null 阿星小栈
    php求今天、昨天、明天时间戳的方法 阿星小栈
    PHP百分数转小数,php 小数转换百分数函数 阿星小栈
  • 原文地址:https://www.cnblogs.com/ithuangqing/p/12113716.html
Copyright © 2011-2022 走看看