java做服务器,android做客户端,实现数据传输

许久未动笔,有个小项目开始动工。需要用一台windows电脑做服务器,在android端与其进行数据交换,实现一些业务。简单起见,用java写这个服务器,以前没做过,试试水。很简单的代码,纯粹找思路。服务器端代码:package com.test;import java.io.IOException;import java.io.OutputStream;impor

大家好,又见面了,我是全栈君。

许久未动笔,有个小项目开始动工。

需要用一台windows电脑做服务器,在android端与其进行数据交换,实现一些业务。

简单起见,用java写这个服务器,以前没做过,试试水。很简单的代码,纯粹找思路。

服务器端代码:

package com.test;

import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MyServer {
	public static void main(String[] args) {
		try {
			ServerSocket server = new ServerSocket(8888);
			while (true) {
				System.out.println("execute 1\n");
				Socket client = server.accept();
				System.out.println("execute 2\n");
				OutputStream out = client.getOutputStream();
				System.out.println("execute 3\n");
				String msg = "hello android";
				out.write(msg.getBytes());
				System.out.println("execute 4\n");
				client.close();
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
}

用了吉利的数字8888做端口,等android端连接上来,发送一句话给android。

 

android端代码:

package com.teat;

import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class TestSocketActivity extends Activity {
	private TextView myTextView;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		myTextView = (TextView) findViewById(R.id.textView1);
		try {
			myTextView.setText("0");
			Socket socket = new Socket("192.168.1.100", 8888);
			myTextView.setText("1");
			InputStream in = socket.getInputStream();
			byte[] buffer = new byte[in.available()];
			myTextView.setText("2");
			in.read(buffer);
			myTextView.setText("3");
			String msg = new String(buffer);
			myTextView.setText(msg);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

方便起见,ip地址是写死的,通过dos窗口下的ipconfig指令查看自己电脑的本地ip,然后把下面这行代码里的ip修改成你电脑的ip就可以正常通信了。

Socket socket = new Socket("192.168.1.100", 8888);

如果正常通信的话会显示服务器发来的“hello android”;

代码下载:http://download.csdn.net/detail/jason0539/7011951

 

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121369.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Project interpreter not specified(eclipse+pydev)

    Project interpreter not specified(eclipse+pydev)

    2021年11月24日
    42
  • 不能管家的AI机器狗不是好宠物?「建议收藏」

    文/智能相对论(ID:aixdlun)作者/离离近日,波士顿动力的网红大黄狗Spot因为学会“做家务”而登上了微博热搜。继跨年夜的芭蕾小碎步之后,再次引起全网热议。这次的“进化”要归功于波士顿动力新推出的Spot系列三大新品──SpotEnterprise、SpotArm以及全新升级系统Scout。软件与硬件的同时更新让这只大黄狗get了跳绳、捡垃圾、挖土种花、收拾衣服、写字、拖重物、开关门等一系列新技能。有了人工智能的“加持”,机器狗似乎变得比真实的狗狗更加“聪明”,能做到

    2022年4月15日
    37
  • xml 中 sql 模糊查询 like

    xml 中 sql 模糊查询 liket.namelikeCONCAT(’%’,#{name},’%’)字段名likeconcat(’%’,#{字段名},’%’)亲测有效~

    2022年4月29日
    32
  • 第三章 —- 了解各种 Linux 文本编辑器

    第三章 —- 了解各种 Linux 文本编辑器了解各种Linux文本编辑器了解Linux中不同类型的文本编辑器解释Vi文本编辑器常用命令了解Linux中不同类型的文本编辑器解释Vi文本编辑器viniit.txt:如果niit.txt文件存在,就进入命令模式:如果不存在,就先创建,再进入命令模式命令模式:按键ESC,由输入模式进入命令模式特点:在文件的最下方,什么都不显示或者显示文件基本信息输入模式:按键aAiLoOrR,由命令模式进入输入模式特点:在文件的最下方出现–INSERT–

    2022年7月26日
    7
  • C 如何实现热键注册 RegisterHotKey

    C 如何实现热键注册 RegisterHotKeyRegisterHotK this Handle 247696411 0 UInt32 Keys http baike baidu com view 1080084 html tp 0 10 这里有 RegisterHotK 的介绍 RegisterHotK 函数功能 该函数定义一个系统范围的热键 函数原型 BOOLRegister

    2025年9月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号