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(转载请说明出处)

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea打包操作_idea package打包

    idea打包操作_idea package打包前言:IDEA导出war包的方式与MyEclipse有一点不同,使笔者在使用的时候有点困惑,在网上查阅相关资料的时候,发现都讲解得都不是非常的清晰,于是有了这篇随笔的诞生。话不多说,直接进入正题。1.进入项目的ProjectStructure界面,进行如下4步操作。2.通过上述4步操作后,进入如下界面。 注:1.修改war包的名称(根据实际情况);2.如果出现WEB-INF文件夹则删除,否则不做…

  • 一个中文字符对应几个字节?

    一个中文字符对应几个字节?这个和字符编码有关。所谓字符编码,就是规定了如何将字符串转成byte[]。同一个汉字,在不同的字符编码下,得到的结果也不同。例如,”中国”GBK编码:D6D0B9FAUTF-8编码:E4B8ADE59BBD以GBK编码时,一个汉字得到2个字节。以UTF-8编码时,一个汉字得到2~3个字节。…

  • HTML5 新特性_CSS3新特性

    HTML5 新特性_CSS3新特性一.HTML5概念:1.什么是HTML5:(1)HTML5将成为HTML、XHTML以及HTMLDOM的新标准;(2)HTML5仍处于完善之中。然而,大部分现代浏览器已经具备了某些HTML5支持。2.HTML5的起步:(1)HTML5是W3C(WorldWideWebConsortium,万维网联盟)与WHATWG合作的结果(2)为HTML5建立的…

    2022年10月31日
  • mysql的自定义函数_mysql执行自定义函数

    mysql的自定义函数_mysql执行自定义函数1.函数简介mysql5.0开始支持函数,函数是存在数据库中的一段sql集合,调用函数可以减少很多工作量,减少数据在数据库和应用服务器上的传输,对于提高数据处理的效率。参数类型为in类型,函数必须有返回值,与oracle等其他库函数参数类型有区别,如果做数据迁移,或许需要将函数改变成存储过程,因为mysql的存储过程参数包括in,out,inout三种模式。创建函数语法:…

  • excel中pmt函数是什么意思_excel利用函数计算

    excel中pmt函数是什么意思_excel利用函数计算关于PMT函数,从百科中就可以搜到基本解释:PMT函数即年金函数,基于固定利率及等额分期付款方式,返回贷款的每期付款额。PMT(Rate,Nper,Pv,Fv,Type)。语法参数●R

  • Spring中@Autowired、@Resource和@Inject注解的使用和区别

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!在使用Spring进行项目开发的时候,会大量使用到自动装配,那自动装配是什么呢?简单来说:Spring 利用依赖注入(DI)功能,完成SpringIOC容器中各个组件之间的依赖关系赋值管理。下面介绍和总结可以在在Spring使用的三种自动注入的注解。首先回顾一下最初使用xml进行是如何进行注入的。零、回顾:XML…

发表回复

您的电子邮箱地址不会被公开。

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