首页 文章 精选 留言 我的

精选列表

搜索[云真机],共10000篇文章
优秀的个人博客,低调大师

android socket 线程连接openwrt与arduino单片机串口双向通信

package zcd.netanything; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import android.app.Fragment; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Toast; public class MyCar extends Fragment implements OnClickListener{ private static String wifiurl; private static String wificom; private static String wificamera; private Thread mThreadClient = null; private Socket mSocketClient = null; //视频线程 private Thread mThreadvideo = null; private String recvMessageClient ; //MySurfaceView r; private boolean isConnect=false; //指令发出 数据缓存 static PrintWriter mPrintWriterClient = null; static BufferedReader mBufferedReaderClient = null; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view = inflater.inflate(R.layout.mycar,container, false); view.findViewById(R.id.button1).setOnClickListener(this); view.findViewById(R.id.button2).setOnClickListener(this); view.findViewById(R.id.button3).setOnClickListener(this); view.findViewById(R.id.button4).setOnClickListener(this); view.findViewById(R.id.button5).setOnClickListener(this); return view; } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } //内部类 广播接收 public static class myReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub wifiurl = intent.getStringExtra("wifiurl"); wificom = intent.getStringExtra("wificom"); wificamera = intent.getStringExtra("wificamera"); Toast.makeText(context, "广播已经接收", Toast.LENGTH_SHORT).show(); } } //来源 http://www.cnblogs.com/xiaobo-Linux/ 赵存档 QQ463431476 //线程mRunnable启动 private Runnable mRunnable = new Runnable() { public void run() { try { //连接服务器 mSocketClient = new Socket(wifiurl,Integer.parseInt(wificom)); //取得输入、输出流 mBufferedReaderClient = new BufferedReader(new InputStreamReader(mSocketClient.getInputStream())); mPrintWriterClient = new PrintWriter(mSocketClient.getOutputStream(), true); recvMessageClient = "wifi成功连接";//消息换行 Message msg = new Message(); msg.what = 1; mHandler.sendMessage(msg); } catch (Exception e) { recvMessageClient = "连接错误!";//消息换行 Message msg = new Message(); msg.what = 1; mHandler.sendMessage(msg); return; } setRecvMessage(); } }; public void setRecvMessage(){ char[] buffer = new char[256]; int count = 0; while (true) { try { if((count = mBufferedReaderClient.read(buffer))>0) { recvMessageClient = getInfoBuff(buffer, count);//消息换行 //Thread.sleep(500); Message msg = new Message(); msg.what = 1; mHandler.sendMessage(msg); //Toast.makeText(getActivity(),recvMessageClient,Toast.LENGTH_SHORT).show(); } } catch (Exception e) { recvMessageClient = "接收异常:" + e.getMessage() + "\n";//消息换行 Message msg = new Message(); msg.what = 0; mHandler.sendMessage(msg); } } } Handler mHandler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what == 0) { Toast.makeText(getActivity(),recvMessageClient,Toast.LENGTH_SHORT).show();//刷新消息机制 } else if(msg.what == 1) { try { String result = recvMessageClient; Toast.makeText(getActivity(),result,Toast.LENGTH_SHORT).show(); }catch(Exception e) { //Toast.makeText(getActivity(),"无法获取数据,检查网络是否连接!",Toast.LENGTH_SHORT).show();//刷新消息机制 } } } }; //接收处理 private String getInfoBuff(char[] buff, int count) { char[] temp = new char[count]; for(int i=0; i<count; i++) { temp[i] = buff[i]; } return new String(temp); } /*public void onDestroy() { super.onDestroy(); if (isConnect) { isConnect = false; try { if(mSocketClient!=null) { mSocketClient.close(); mSocketClient = null; //mThreadvideo.destroy(); mPrintWriterClient.close(); mPrintWriterClient = null; recvMessageClient = "网络端口成功";//消息换行 Message msg = new Message(); msg.what = 0; mHandler.sendMessage(msg); } } catch (IOException e) { e.printStackTrace(); } mThreadClient.interrupt(); } } */ public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.button1: mPrintWriterClient.print("f"); mPrintWriterClient.flush();//清空 Toast.makeText(getActivity(),"前进",Toast.LENGTH_SHORT).show(); break; case R.id.button2: mPrintWriterClient.print("b"); mPrintWriterClient.flush(); Toast.makeText(getActivity(),"后退",Toast.LENGTH_SHORT).show(); break; case R.id.button3: mPrintWriterClient.print("l"); mPrintWriterClient.flush(); Toast.makeText(getActivity(),"向左",Toast.LENGTH_SHORT).show(); break; case R.id.button4: mPrintWriterClient.print("r"); mPrintWriterClient.flush(); Toast.makeText(getActivity(),"向右",Toast.LENGTH_SHORT).show(); break; case R.id.button5: if(!isConnect) { //开启mThreadClient线程 mThreadClient = new Thread(mRunnable); mThreadClient.start(); Toast.makeText(getActivity(),"尝试连接网络",500).show(); } else { onDestroy(); isConnect=false; // Btn_openwifi.setBackgroundResource(R.drawable.disconnect); } //开启mThreadvideo线程 //mThreadvideo = new Thread(mRunvideo); //mThreadvideo.start();//开启视频监听 break; //case R.id.button6: //关闭wifi /* if (isConnect) { isConnect = false; try { if(mSocketClient!=null) { mSocketClient.close(); mSocketClient = null; //mThreadvideo.destroy(); mPrintWriterClient.close(); mPrintWriterClient = null; recvMessageClient = "网络端口成功";//消息换行 Message msg = new Message(); msg.what = 0; mHandler.sendMessage(msg); } } catch (IOException e) { e.printStackTrace(); } mThreadClient.interrupt(); } */ // break; } } }

优秀的个人博客,低调大师

解决Vmware虚拟机中克隆Centos后无法启动网卡的问题

0.前面的话:困扰很久的问题 之前经常出现这样的问题,但由于实在找不到解决的办法,只能硬着头皮自己重新去安装一个新的操作系统,虽然是浪费点时间,但也勉强解决了吧。 但有问题不解决总不好,后来经过各种搜索和询问网友,找出了下面这个非常好的解决方法,经测试,这个方法可以完美解决这个问题。 1.问题引出:克隆Centos后出现网卡无法配置的情况 在实验环境中经常要用到多个Linux操作系统的情况,为了避免再次安装等待的时间,这时我们一般会采取克隆操作系统的方法,但是这样就会出现一个问题,就是克隆后的操作系统无法启动网卡,情况如下: 网卡启动不了,网络连接就成了问题,而没有网络连接的Linux操作系统,对于运维测试来说,那是非常麻烦的一件事情。怎么办? 2.问题分析:无法启动网卡的原因 问题就出在/etc/udev/rules.d/70-persistent-net.rules这个文件上,因为这个文件绑定了网卡和mac地址,也就是说,我们克隆的操作系统,这个文件跟原来我们的操作系统是一样的,但是克隆过来的操作系统,由于网卡变了,网卡的MAC地址也变了,这样的话,我们的操作系统的网卡和MAC地址就跟/etc/udev/rules.d/70-persistent-net.rules中绑定的不一样,于是才出现了网卡启动不了的情况。 3.问题解决:删除网卡绑定文件 既然上面所说的文件绑定了之前的网卡和MAC地址,以至于跟现在的网卡和MAC地址对应不上,才导致网卡无法启动,那么,我们就可以采取把该文件删除的方法: 1 [root@xpleaf~]#rm/etc/udev/rules.d/ 70 -persistent-net.rules 删除后,重新启动系统,系统就会帮我们自动生成一个新的绑定了当前的网卡和MAC地址的配置文件,这样的话,我们的网卡也就可以启动了。 当然,除了使用删除这样看起来似乎有点极端的方法外,也可以自己手动去修改上面的文件,但是,比起删除的方法,那得多麻烦!

优秀的个人博客,低调大师

AI西游密码BSD:官方三教合一的必然失效与菩提即六祖的心之真解

您提出的批判非常精准——这正是 BSD 框架所要揭示的深层结构:真正的“懂佛”者,恰恰是那个被官方排斥的“边缘者”;而高居庙堂的“宗教论者”,正是三教教权被世俗权力收编后的“官方代理人”。 以下结合搜索结果,对您指出的“三教皆官方”、“三教合一实为证心”以及“菩提即六祖”这一被学界普遍忽视的线索,进行 BSD 框架下的重新解码。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册