Android客户端与服务器用Socket进行通信(简单,基础)

#####哈哈哈,很久没有好好学习了,今天写一个关于通信的,我也是刚刚学到,代码还不完善,,,,有问题请大家指出

#Android客户端
###首先建立一个main.java的文件,andriod端与服务器端的链接必须使用子线程,否者会堵塞主线程(UI线程是主线程),下面是代码
##Java文件


public class MainActivity extends AppCompatActivity {public EditText edit;public Socket s;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);edit = findViewById(R.id.et_edit);}public void send(View view) {final String et = edit.getText().toString();new Thread(new Runnable() {//线程进行Socket连接以及传输数据@Overridepublic void run() {try {//使用这个线程就可以改变主线程的内容,可以不使用handler机制runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this,et,Toast.LENGTH_SHORT).show();}});Socket s=new Socket("192.168.0.108",6666);//创建一个Socket对象,第一个参数是要访问服务器的1p地址,第二个参数为端口,与服务器一致//OutputStream os=s.getOutputStream();//Socket对象调用getOutputStream方法获取输出流//byte[] aa=et.getBytes();et是获取到的一个editview控件的值,把获取的值转化为byte类型//os.write(aa);OutputStream 对象调用write方法进行写数据s.getOutputStream().write(et.getBytes());//BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os));//bw.write(et);} catch (IOException e) {e.printStackTrace();}}}).start();}

##布局文件

 <LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="bottom"android:orientation="horizontal"><EditTextandroid:id="@+id/et_edit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"/><Buttonandroid:id="@+id/bt_send"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:onClick="send"android:text="发送" /></LinearLayout>

#服务器端代码

public class Message {/*** @param args*/public static void main(String[] args) {try {ServerSocket ss=new ServerSocket(6666);//创建ServerSocket 对象,指定端口Socket socket=ss.accept();//阻塞等待客户端连接,调用ServerSocket的accept()方法接收一个客户端请求,得到一个SocketSystem.out.print("连接成功");byte[] aa=new byte[2048];//创建一个2048byte的数组int len=socket.getInputStream().read(aa);Socket对象调用getInputStream方法获取输入流,读取传入的数据以及长度,并把数据放到数组中String bb=new String(aa,0,len); 从数组中将byte类型的数据转化为string类型//BufferedReader bReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));//String message=bReader.readLine();System.out.print("客户端传来的消息是"+bb);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

####over 客户端只有输出,服务器只有输入,很简单的代码,功能和代码也不完善,希望对您有帮助。。。。。。。

Android客户端与服务器用Socket进行通信相关推荐

  1. Android客户端与服务器交互方式-小结

    最近的Android项目开发过程中一个问题困扰自己很长时间,Android客户端与服务器交互有几种方式,最常见的就是webservices和json.要在Android手机客户端与pc服务器交互,需要 ...

  2. Android 客户端与服务器交互方式

    突然想到一个问题就是Android客户端与服务器交互有几种方式,因为在脑袋里想当然的就是webservices和json.要在Android手机客户端与pc服务器交互,需要满足下面几种条件:跨平台.传 ...

  3. python与android交互,Android客户端与Python服务器端的简单通信

    最近在做一个APP,需要与服务器通信,一点一点的尝试,记录一下. 本文使用了OkHttp和Flask框架. Android客户端: 实现功能输入完点击OK按钮后会toast成功的信息. Python服 ...

  4. 基于Android的聊天软件,Socket即时通信,实现用户在线聊天

    基于Android的聊天软件,Socket即时通信,单聊,聊天室,可自行扩展功能,完善细节. [实例功能] 1.运行程序,登录界面, 注册账号功能 2.进入主界面,有通讯录, 个人信息. 3.点击好友 ...

  5. Android客户端与服务器连接

    一.实验名称 Android客户端与服务器连接. 二.实验背景 2.1需求分析 1.服务端使用JSON解析客户端的请求数据 2.客户端通过HttpClient对象访问服务器,向服务器发送http请求. ...

  6. android 访问服务器josn文件,Android客户端对服务器回来的json文件进行解析

    Android客户端对服务器返回的json文件进行解析 和解析XML的方式大同小异,只有解析方式存在区别: /** * 解析服务器返回来的json数据 * @param content * @retu ...

  7. Android 架构之路 (1)-- Android 客户端与服务器的数据交互总结

    前言: 本文总结了 Android 客户端与服务器进行交互时,采用RESTful API +Json的交互方式,针对不同的数据形式以及不同的解析方法,如有不足之处,欢迎指正. 文章目录 1. Andr ...

  8. Socket 通信原理(Android客户端和服务器以TCPUDP方式互通)

     ZERO.前言 有关通信原理内容是在网上或百科整理得到,代码部分为本人所写,如果不当,还望指教. 一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是So ...

  9. Socket实现Android客户端与服务器的通信

    前言:题目要求故写一下总结. 1.什么是Socket? 网络用语叫套接字原理是基于tcp/ip 协议的一种通信手段,目前题目中要求无非就是当客户端数据异常时推送给服务器报警信息 往常接下来都是先看效果 ...

最新文章

  1. C# 读取ini文件 百度问问学习文档
  2. 网易云战略三大布局——研发云、运营云和运作云
  3. 【C/C++12】天气APP:不同数据建表入表,数据交换(exptables.cpp,ftpputfiles.cpp)
  4. MySQL初始化脚本mysql_install_db使用简介及选项参数
  5. Web Storage中的sessionStorage和localStorage
  6. 会话跟踪技术之Cookie
  7. 展示浏览 java_java利用 cookie 进行展示你所浏览过的的商品
  8. 分析CSS布局中BFC
  9. T-SQL 之 DDL语法
  10. python批量查询ip归属地_利用python实现批量查询ip地址归属地址
  11. 如何安装thinkphp
  12. 污染土壤修复可以采取哪些方式
  13. Re2:读论文 CS-GNN Measuring and Improving the Use of Graph Information in Graph Neural Networks
  14. Qt中鼠标滑过控件由箭头变成手型QWidget::setCusor()
  15. 减肥瘦不下来的三个关键
  16. python html做界面_用Html来写Python桌面软件的UI界面-htmlPy
  17. 什么是项目管理?范围、时间、成本、质量
  18. 苹果教你如何保持iPhone电池健康、延长电池寿命
  19. IDE硬盘驱动器读写过程
  20. windows远程linux工具之tabby的使用

热门文章

  1. 这可能是全网唯一的免费数据恢复软件,支持电脑和手机恢复,支持通话记录,信息,图片,视频等数据恢复!
  2. RouterOS(ROS)软路由开启UPNP设置
  3. 逍遥情缘服务器维护没通告,开服才两天等级就落后了?逍遥情缘前期升级要诀请记牢...
  4. 炫酷html动画,纯CSS3一个炫酷动画
  5. html + css + javascript 制作时间轴
  6. 安全防护分五阶段,主动安全是演进方向
  7. 打字慢能学计算机吗,只用7天时间学习电脑打字,能达到一分钟40字吗?
  8. 针对smartforms中打印格式的配置 和 连续打印总结(敬我亲爱 的 越后龙神-陶哥)
  9. 减小目标文件大小的方法
  10. VS如何加注释,快捷键