首页 文章 精选 留言 我的

精选列表

搜索[Rust编程],共10000篇文章
优秀的个人博客,低调大师

Android 网路编程

1、获得网络信息 首先在AndroidManifest.xml中加入权限 <uses-permission android:name= "android.permission.ACCESS_NETWORK_STATE" /> Code代码如下: public class MainActivity extends Activity { TextView netWorkTextView; ConnectivityManager cManager; NetworkInfo networkInfo; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); netWorkTextView = (TextView)findViewById(R.id.networkInfo); cManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); } @Override protected void onStart() { super .onStart(); networkInfo = cManager.getActiveNetworkInfo(); netWorkTextView.setText(networkInfo.toString()); } } 显示入下图:代表的意思,采用WIFI连接,其它不解释。 2 .Socket的网络通信 1)服务端: 新建Android工程SocketServerDemo。 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); startService( new Intent( this ,SocketService. class )); } } SocketService类 public class SocketService extends Service{ Thread mServiceThread; Socket client; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null ; } @Override public void onCreate() { super .onCreate(); mServiceThread = new Thread( new SocketServerThread()); } public class SocketServerThread extends Thread { private static final int PORT = 8801 ; private SocketServerThread() { } @Override public void run() { // TODO Auto-generated method stub try { ServerSocket serverSocket = new ServerSocket(PORT); while ( true ) { System.out.println( "begin client connected" ); client = serverSocket.accept(); System.out.println( "client connected" ); BufferedReader reader = new BufferedReader( new InputStreamReader(client.getInputStream())); System.out.println( "read from client:" ); String textLine = reader.readLine(); if (textLine.equalsIgnoreCase( "EXIT" )) { System.out.println( "EXIT invoed, closing client" ); break ; } System.out.println(textLine); PrintWriter writer = new PrintWriter( new BufferedWriter( new OutputStreamWriter(client.getOutputStream()))); writer.println( "ECHO from server: " + textLine); writer.flush(); writer.close(); reader.close(); } } catch (IOException e) { // TODO: handle exception System.err.println(e); } } } } 2)客户端:新建Android工程SocketClientDemo public class MainActivity extends Activity { private static final String SERVERIP = "192.168.1.100" ; //自己电脑的IP private static final int SERVERPORT = 8801 ; TextView mMsgRev; EditText mMsgEdit; Button mMsgSendBtn; String mSendMsg; String mReceivedMsg; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); mMsgRev = (TextView) findViewById(R.id.receive_msg); mMsgEdit = (EditText) findViewById(R.id.edit_msg); mMsgSendBtn = (Button) findViewById(R.id.send_msg); mMsgSendBtn.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Socket socket = null ; mSendMsg = mMsgEdit.getText().toString(); try { socket = new Socket(SERVERIP, SERVERPORT); PrintWriter writer = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream()))); writer.println(mSendMsg); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(socket.getInputStream())); mReceivedMsg = reader.readLine(); if (mReceivedMsg != null ) { mMsgRev.setText(mReceivedMsg); } else { mMsgRev.setText( "receive data error" ); } writer.close(); reader.close(); socket.close(); } catch (UnknownHostException e) { // TODO: handle exception Log.i( "Error" , e.getMessage()); } catch (IOException e) { // TODO: handle exception Log.i( "Error" , e.getMessage()); } } }); } } 其中客户端跑在我的平板上,服务端跑在我的手机上。然后再服务端的文本框中输入文本,点击Send按钮,最后会收到信息。 注意:两个程序的端口号8801都是相同的,客户端的IP地址是我的电脑IP地址,两个程序都要有权限 <uses-permission android:name= "android.permission.INTERNET" ></uses-permission> 参考:基于Socket的网络通信 本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2013/04/03/2997992.html,如需转载请自行联系原作者

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

Android socket编程

Socket通常也称做”套接字“,用于描述IP地址和端口,它就是网络通信过程中端点的抽象表示。Java在包java.net中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。 SocketServer类,服务器实现: public class SocketServer { ServerSocket sever; public SocketServer(int port){ try{ sever = new ServerSocket(port); }catch(IOException e){ e.printStackTrace(); } } public void beginListen(){ while(true){ try{ final Socket socket = sever.accept(); new Thread(new Runnable(){ public void run(){ BufferedReader in; try{ in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8")); PrintWriter out = new PrintWriter(socket.getOutputStream()); while (!socket.isClosed()){ String str; str = in.readLine(); out.println("Hello!world!! " + str); out.flush(); if (str == null || str.equals("end")) break; System.out.println(str); } socket.close(); }catch(IOException e){ e.printStackTrace(); } } }).start(); }catch(IOException e){ e.printStackTrace(); } } } } public class TestSocketServer { public static void main(String[] argvs){ SocketServer server = new SocketServer(12345); server.beginListen(); } } 客户端实现: public class SocketClientDemo extends Activity implements Runnable { private TextView tv_msg = null; private EditText ed_msg = null; private Button btn_send = null; private static final String HOST = "192.168.1.223"; private static final int PORT = 12345; private Socket socket = null; private BufferedReader in = null; private PrintWriter out = null; private String content = ""; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv_msg = (TextView) findViewById(R.id.TextView); ed_msg = (EditText) findViewById(R.id.EditText01); btn_send = (Button) findViewById(R.id.Button01); try { socket = new Socket(HOST, PORT); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(new BufferedWriter(new OutputStreamWriter( socket.getOutputStream())), true); } catch (IOException ex) { ex.printStackTrace(); ShowDialog("login exception" + ex.getMessage()); } btn_send.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String msg = ed_msg.getText().toString(); if (socket.isConnected()) { if (!socket.isOutputShutdown()) { out.println(msg); } } } }); new Thread(SocketDemo.this).start(); } public void run() { try { while (true) { if (socket.isConnected()) { if (!socket.isInputShutdown()) { if ((content = in.readLine()) != null) { content += "\n"; Log.d("socket","socket:"+content); } else { } } } } } catch (Exception e) { e.printStackTrace(); } } } 注意在AndroidManifest.xml中加入对网络的访问权限 <uses-permission android:name="android.permission.INTERNET"></uses-permission> 本文转自xyz_lmn51CTO博客,原文链接:http://blog.51cto.com/xyzlmn/1230758,如需转载请自行联系原作者

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

rust 作业调度项目 jiascheduler 发布 v1.1.0

这次用了一个多月发布 v1.1.0 ,下个版本 v1.2.0 正在准备中,因为平常上班比较忙只能利用周末码代码的缘故,所以版本会比较慢,不过好在并不觉得是个负担,会长期开发,期待未来做出一个成体系的运维自动化小生态 简单介绍一下 jiascheduler 是一款任务调度软件,采用类似 master worker 的模型,支持同时管理成千上万的节点 项目地址: https://github.com/jiawesoft/jiascheduler jiascheduler 支持 自定义执行器(类似 shell ,python ) 支持定时器 支持守护任务 支持批量任务(一次下发 n 个作业,并对执行结果进行计算,生成执行汇总报表) 异步执行,不受执行耗时限制 支持同时推送任务到海量节点执行 支持内网穿透,一个控制台管理不同网络的实例 支持 webssh 控制台,分屏,多窗口,多会话批量操作,sftp 文件管理 v1.1.0 主要亮点 默认提供了 jiascheduler 执行文件,该执行文件合并了原先的 console ,comet ,agent 程序,方便单2. 节点部署的用户一键部署程序,如果你是同时管理很多实例建议还是分开部署 新增了作业执行结束回调设置功能,用户可以自由的设置作业执行完毕时的回调通知 新增了作业打标签功能,现在用户可以对作业进行标签分类 新增了调度清空执行记录功能,现在用户可以清空指定调度下的所有执行记录 界面布局和部分翻译优化 新增了 docker hub 容器镜像和 docker compose 支持 v1.2.0 计划主要功能 支持作业版本和审批 支持回收站功能 软件截图

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

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

Sublime Text

Sublime Text

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

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册