android 初识socket通信--java程序做服务器

1.新建一个java工程做服务器

public class MyServer {
    String str ;
    public MyServer(){
        try {
        //服务器端的声明用serversocket,括号里面写端口号,端口号是自己指定的
            ServerSocket ss = new ServerSocket(4700);
            //accept方法在这里会一直等待客户端连接进来
            Socket accept = ss.accept();
            //新建一个读入流,字符集是utf-8
            BufferedReader br = new BufferedReader(new InputStreamReader(accept.getInputStream(),"utf-8"));
            //用这个方法读取客户端写入的数据
            str = br.readLine();
            System.out.println("从客户端来的数据:"+ str);
            br.close();
                } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void main(String [] args){
    //不要忘了这一步
        new MyServer();
    }
}

2.新建一个android工程作为客户端

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //这里用到子线程有很多理由,可以自己百度了解一下
      new Thread(){
          public void run() {
              try {
              //cmd ipconfig获取当前本机ip地址
                Socket client = new Socket("192.168.56.1", 4700);
                //一定要要以换行符结尾,不然readline会一直读取不会停止,所以reaeline没有值返回
                String str = "你好服务器\n";
                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
                bw.write(str);
                bw.flush();
                bw.close();
                } catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
          }
      }.start();
    }
时间: 2024-11-03 22:34:25

android 初识socket通信--java程序做服务器的相关文章

Android开发socket通信——手机做server端C/S架构实现

每一部智能手机都是一部微型电脑,在学校里最喜欢的就是找上十个八个同学一起局域网内开几局dota,突然想到,拿手机C一个游戏来玩怎样,不用连wifi.不用开数据,几部手机选一个做主机,其他手机连上它的热点,便可以互动起来游戏搞起来了,多开心~~ 实际实现过程中发现拿手机本身做server的手段还真是很少有人使用,网上也很少有现成的解决方案,经过一番摸索,简单实现了手机自身做server(可兼做客户端)的socket通信功能,写出来请大家指导一下,也是简单梳理一下方便日后复用. 遇到的最大问题可能是

Android之Socket通信、List加载更多、Spinner下拉列表

Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信.通过建立socket连接,可为通信双方的数

Android简单Socket通信demo

一.Android Socket 通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信

基于android的Socket通信

一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信.通过建立sock

Android 客户端Socket 与 Java服务端ServerSocket 简单小例子

新建一个Java项目 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public

android 实现socket通信

客户端代码: activity: package com.example.sockettest; import java.io.*; import java.net.Socket; import java.net.UnknownHostException; import android.app.Activity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import an

C++Socket通信(客户端和服务器)

win32控制台版 获取本机IP: cmd:       ipconfig/all 我写的是一个服务器和客户端点对点的信息传递(实现相互的可以适当更改代码): 服务器发送给客户端的是一个结构体数据 typedef struct Date { float m1; float m2; float m3; float m_roll; float m_pitch; float m_rotate; }Datablock; 上服务器代码(阻塞式的): #include "stdafx.h" #in

初识Socket通信:基于TCP和UDP协议学习网络编程

学习笔记: 1.基于TCP协议的Socket网络编程: (1)Socket类构造方法:在客户端和服务器端建立连接 Socket s = new Socket(hostName,port);以主机名和端口号作为参数来创建一个Socket对象. Socket s = new Socket(address,port);以InetAddress对象和端口号作为参数来创建一个Socket对象. 创建Socket对象时可能抛出UnknownHostException或IOException异常,必须捕获它们

linux下的socket通信小程序分享

最近学习unix网络编程,感觉东西零零碎碎,比较混乱.因此决定整理以下,发一个小博客.一来可以与大家分享以下,二来可以总结提高一下所学的东西.话说:竹子为什么长的高,因为它喜欢总结阿--^_^ 废话不多说了,上代码.小弟半路出家,入行不深,过路大神不喜勿喷阿,嘿嘿--^_^ 程序是一个基于tcp的 C/S .简单回显功能( 声明以下,不要以为注释是英语就说我是在哪里下载的,原因是我运行程序 汉字老显示乱码,就改成蹩脚英语了 ). 首先是一个自己的库 1 #ifndef MYLIB_H 2 #de