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>



    成功无捷径,学习有方法!
  • 相关阅读:
    Java编程规范
    java 编程军规
    数据库编程军规条例
    过滤重复记录(因为关联扩展表)
    根据子部门获取其到根部门的路径
    (原创)defparam的应用(Verilog,CPLD/FPGA)
    (原创)学习MCU的感悟_初级(MCU,经验)
    (原创)基于FPGA的调光流水灯(Verilog,CPLD/FPGA)
    (原创)基于MCU的频率可调,占空比可调的PWM实现(MCU,MCS-51/MSP430)
    (原创)动物照的情感与角度拍摄(摄影,欣赏)
  • 原文地址:https://www.cnblogs.com/ithuangqing/p/12113716.html
Copyright © 2011-2022 走看看