Android的Socket编程尝试失败了,求帮助

============问题描述============

服务器端:把客户端传来的int加1,传回去

public class Server extends Thread

{

	@Override

	public void run()

	{

		// TODO Auto-generated method stub

		try

		{

			ServerSocket serverSocket=new ServerSocket(10000);

			System.out.println("Start Server");

			while(true)

			{

				Socket socket=serverSocket.accept();

				System.out.println("Get Socket");

				int i=socket.getInputStream().read();

				i++;

				socket.getOutputStream().write(i);		

				socket.close();

			}

		} catch (IOException e)

		{

			// TODO Auto-generated catch block

			e.printStackTrace();

		}

	}

	public static void main(String args[])

	{

		new Server().start();

	}

}

客户端:activity的布局,一个button,按了就连接服务器并且发送一个int数过去,一个textview来显示接受的加1的数字

textView=(TextView) findViewById(R.id.tv);

		button=(Button) findViewById(R.id.btn);

		button.setOnClickListener(new View.OnClickListener()

		{

			@Override

			public void onClick(View arg0)

			{

				// TODO Auto-generated method stub

				try

				{

					Socket socket=new Socket("113.76.162.91", 10000);

					System.out.println("Build Socket");

					socket.getOutputStream().write(12);			

					System.out.println("Build Socket");

					int i=socket.getInputStream().read();

					socket.close();

					textView.setText(String.valueOf(i));

				} catch (UnknownHostException e)

				{

					// TODO Auto-generated catch block

					System.out.println("Unknow Host");

				} catch (IOException e)

				{

					// TODO Auto-generated catch block

					System.out.println("IO Wrong");

				}

			}

		});

我的代码如果不涉及Android,即是直接2个*.java能够正常运行的,我的电脑的IP地址没弄错,Android也加了联网的权限:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

就是不知道怎么会崩了,那个IP地址我还试过了127.0.0.1和10.0.2.2,我用的是真机调试的

============解决方案1============

你的客户端有问题,不能在OnClickListener里面更新 textView.setText(String.valueOf(i));

============解决方案2============

socket 放到子线程里去

时间: 2025-01-01 21:40:27

Android的Socket编程尝试失败了,求帮助的相关文章

android之socket编程实例

sokcet 编程实例 android bundle类

Android Socket编程

花了大概两天的时间,终于把Android的Socket编程给整明白了.抽空和大家分享一下: Socket Programming on Android Socket 编程基础知识: 主要分服务器端编程和客户端编程. 服务器端编程步骤: 1: 创建服务器端套接字并绑定到一个端口上(0-1023是系统预留的,最好大约1024) 2: 套接字设置监听模式等待连接请求 3: 接受连接请求后进行通信 4: 返回,等待赢一个连接请求 客户端编程步骤: 1: 创建客户端套接字(指定服务器端IP地址与端口号) 

Android必备:Android Socket编程的了解与学习整理

看这里:Android必备:Android Socket编程的了解与学习整理 最近学习Android的过程中,由于项目.业务等因素影响,服务端通过Socket进行通信,于是开始学习Socket编程,之前的开发中,很少涉及此 方面的知识学习,本篇就来简单的整理一下,通过Android客户端进行Socket登录的demo,来进行Adnroid Socket编程的学习. 在开始学习之前,先来了解一下Socket,以下内容来自百度百科: 通常也称作"套接字",用于描述IP地址和端口,是一个通信

Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)(转载)

转自:http://www.cnblogs.com/lknlfy/archive/2012/03/04/2379628.html 一.概述 关于Socket编程的基本方法在基础篇里已经讲过,今天把它给完善了.加入了多线程,这样UI线程就不会被阻塞:实现了客户端和服务器的双向通信,只要客户端发起了连接并成功连接后那么两者就可以随意进行通信了. 二.实现 在之前的工程基础上进行修改就可以了. MyClient工程的main.xml文件不用修改,只需要修改MyClientActivity.java文件

Android Socket编程学习笔记

通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务. 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定. 在java中,Socke

android开发系列之socket编程

上周在项目遇到一个接口需求就是通讯系列必须是socket,所以在这篇博客里面我想谈谈自己在socket编程的时候遇到的一些问题. 其实在android里面实现一个socket通讯是非常简单的,我们只需要在代码里面实现一个Socket对象,同时在该对象里面传进一个ip/port,同时设置一些超时时间就可以了.代码如下: public class SocketThread extends Thread { private String ip = "192.168.129.1"; priva

总结一下前两天刚尝试的socket编程-使用AsyncSocket

说来惭愧,搞了两年ios居然木有用过socket...初学ios的时候倒是了解过,但是两年不用,之前学的内容已经完全忘光光.于是又开始网上各种查. 用cf的socket貌似显得很拽的样子,但是实在不适合我这种领导紧逼着出项目的情况.搜了下发现目前最常用的socket库应该就是AsyncSocket了.嗯,看起来很简单,搞it~ 这个库有基于runloop和GCD两种,据我一哥们说runloop版本是基于timer机制实现异步处理,会跟scroller的滚动动画冲突.我暂时还没有验证他的说法,不过

Socket编程总结—Android手机服务器与多个Android手机客户端之间的通信(非阻塞)

根据前两周写的关于Socket编程的网络通信的代码,现在对有关知识和注意事项进行总结如下: 1.首先说下Android NIO中有关Socket编程的类: 1)ServerSocketChannel类:服务器套接字通道相当于传统IO下的ServerSocket,通过ServerSocketChannel的socket()可以获得传统的ServerSocket,反过来使用ServerSocket的getChannel()可以获得ServerSocketChannel对象:实例化ServerSock

Appium 连手机失败Error: Android bootstrap socket crashed: Error: getaddrinfo ENOTFOUND localhost undefined:4724

问题:Appium执行,连接手机报下面的错误 Error: Android bootstrap socket crashed: Error: getaddrinfo ENOTFOUND localhost undefined:4724 at Socket.<anonymous> (lib/bootstrap.js:87:21) at emitOne (events.js:90:13) at Socket.emit (events.js:182:7) at connectErrorNT (net