- 浏览: 1222269 次
- 性别:
- 来自: 荆州
文章分类
- 全部博客 (396)
- Android 基础 (72)
- Java 基础 (42)
- Android(动画效果) (26)
- Android(自定义组件) (13)
- Android(手机服务) (38)
- Android(网络相关) (27)
- Android(多媒体) (12)
- Android(小技巧) (30)
- Android(用户界面) (39)
- 基础概念 (24)
- Android组件学习 (21)
- Android数据库相关 (11)
- 生活杂谈 (10)
- 调试技巧部分 (8)
- Sql Server相关 (1)
- Android(xml相关) (2)
- Android 开发 (12)
- 韩语学习 (4)
- Mac添加环境变量的三种方法 (1)
- iPhone开发 (1)
- Android Studio (1)
最新评论
-
ppfbsar:
下载网络文件到SD卡上 -
851228082:
好文!彻底理解单类型导入与按需导入的区别了。还有一点可以通过 ...
谈java的导入(import) -
麦田的设计者:
老乡啊
sqlite 数据库保存图片 -
sf_dream:
我要是读写list、map之类的集合呢
ObjectOutputStream和ObjectInputStream类的学习 -
xfyunyun:
博主,请问webview加载html字符串时怎么进行缓存处理呢 ...
WebView使用总结2(加载HTML内容形式的String)
先上代码:
1. SocketConnect.java文件
2.main.xml文件简单布局
3.注意添加AndroidMenifest.xml的权限
4.服务器端,就是建立一个简单的java文件,运行起来就可以了
以上即为所以代码,希望大家有所收获...感谢志毅的blog啊,之前写过差不多的代码没有调试成功还....
呵呵
1. SocketConnect.java文件
package cn.com; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class SocketConnect extends Activity { private TextView mTextView = null; private EditText mEditText = null; private Button mButton = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mButton = (Button) findViewById(R.id.Button01); mTextView = (TextView) findViewById(R.id.TextView01); mEditText = (EditText) findViewById(R.id.EditText01); // 登陆 mButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Socket socket = null; String message = mEditText.getText().toString() + "\r\n"; try { // 创建Socket socket = new Socket("192.168.1.100", 5554); // 查看本机IP,每次开机都不同 // 向服务器发送消息 PrintWriter out = new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())), true); out.println(message); // 接收来自服务器的消息 BufferedReader br = new BufferedReader( new InputStreamReader(socket.getInputStream())); String msg = br.readLine(); if (msg != null) { mTextView.setText(msg); } else { mTextView.setText("数据错误!"); } // 关闭流 out.close(); br.close(); // 关闭Socket socket.close(); } catch (Exception e) { // TODO: handle exception Log.e("", e.toString()); } } }); } }
2.main.xml文件简单布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="Button01" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> <TextView android:text="TextView01" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="EditText01" android:id="@+id/EditText01" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText> </LinearLayout>
3.注意添加AndroidMenifest.xml的权限
<uses-permission android:name="android.permission.INTERNET" />
4.服务器端,就是建立一个简单的java文件,运行起来就可以了
package cn.com; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class Server implements Runnable { public void run() { try { // 创建ServerSocket ServerSocket serverSocket = new ServerSocket(5554); while (true) { // 接受客户端请求 Socket client = serverSocket.accept(); System.out.println("accept"); try { // 接收客户端消息 BufferedReader in = new BufferedReader( new InputStreamReader(client.getInputStream())); String str = in.readLine(); System.out.println("read:" + str); // 向服务器发送消息 PrintWriter out = new PrintWriter(new BufferedWriter( new OutputStreamWriter(client.getOutputStream())), true); out.println("server message"); // 关闭流 out.close(); in.close(); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { // 关闭 client.close(); System.out.println("close"); } } } catch (Exception e) { System.out.println(e.getMessage()); } } // main函数,开启服务器 public static void main(String a[]) { Thread desktopServerThread = new Thread(new Server()); desktopServerThread.start(); } }
以上即为所以代码,希望大家有所收获...感谢志毅的blog啊,之前写过差不多的代码没有调试成功还....
呵呵
评论
6 楼
Mirale
2014-05-26
不得不说,你这个代码已经过时了,现在android4.0以上的系统,都不能在主进程中进行网络数据的交互,所以上面的代码会出现连不上服务器的异常
5 楼
lenomon
2012-03-11
搜索了下发现这篇文章还行,http://orgcent.com/pc-android-emulator-socket/
4 楼
xiaojian623
2011-08-02
我也想知道二楼的问题!!!
3 楼
ray111
2011-04-09
按照你的方法,服务器从android中接收的中文信息显示的是乱码,如何改进一下呢?
2 楼
xiaofeng1986
2011-03-17
您好,看了好多与这相关的程序,都是内网地址连接的,不知道通过外网的地址连接能否实现
1 楼
JasonShieh
2010-10-20
这种情况下,必须开启局域网连接才行,访问本机也要开启局域网,很不爽的
发表评论
-
WebView加载网页进度条显示
2012-03-06 19:52 2315重写WebChromeClient一个方法进行进度条显示: ... -
基于UDP协议的数据交互例子
2011-12-18 11:06 1692直接贴上代码: 客户端: package com.exam ... -
一种更灵活的数据传输方式:HTTP(2)
2011-12-16 11:18 2978HTTP是大多数应用程序中常用的与服务端交互的通讯方式 ... -
一种更灵活的数据传输方式:HTTP(1)
2011-12-16 10:52 1942使用WebService虽然 ... -
重用WebView的cache图片文件
2011-09-15 15:06 2017如何从WebView使用的cache文件夹中重复使用一些图片资 ... -
开,关闭GPRS的简单Demo
2011-06-09 10:54 2723Android应用中开,关闭GPRS的简单Demo,可能在有的 ... -
Intent打开各种类型文件
2011-04-10 18:22 4414//android获取一个用于打开PPT文件的intent ... -
图片Url保存为位图并进行缩放操作
2010-10-12 15:33 13501.通过传入图片url获取位图方法: public Bit ... -
判断手机有无网络
2010-09-15 16:18 2835ConnectivityManager cwjManage ... -
GoogleMap(通过输入地址,查询显示在google 地图上)
2010-08-15 10:18 4648主Activity: package net.blogja ... -
Android手机使用中国电信天翼上网设置
2010-08-07 16:01 3831众所周知Android手机的上网功能需要用到APN(网络接入点 ... -
GPS取得卫星个数
2010-08-07 15:09 2933LocationManager manager = (Lo ... -
连接服务器超时的Demo
2010-08-05 11:49 2411下面这个例子是连接网络超时的例子: package cn. ... -
下载网络文件到SD卡上
2010-08-02 19:07 3358下面一个一个类的来进行介绍: 1.DownLoadProgre ... -
下载网路图片到SD卡上新建文件夹当中
2010-07-27 22:52 31841.DownloadImages.java文件 packa ... -
sax方式解析xml文件(asset文件和网络文件)
2010-07-11 17:16 1959现在写了些博客后,变懒 ... -
xml中DOM对象的学习
2010-07-03 13:57 1276DOM的基本对象有5个:Doc ... -
DOM方式解析xml文件3(assets中xml文件)
2010-07-03 13:44 2557这个例子是进一步熟悉DOM解析xml文件的方法,附带基础的文档 ... -
DOM方式解析xml文件2(解析本地xml)
2010-07-01 20:42 1581这个与1的方法唯一不同的就是传递InputSource的参数: ... -
DOM方式解析xml文件1(解析网路xml)
2010-07-01 20:14 1579其实网上很多资料讲关 ...
相关推荐
这里的“Android客户端Socket连接PC服务器端”是指通过Socket在Android客户端应用程序与运行在个人计算机(PC)上的服务器程序之间建立连接,实现数据交换。以下是关于这个主题的详细解释: **Socket基础** Socket...
在Android客户端通过Socket连接到PC服务器端的过程中,主要涉及网络通信和Android应用开发的相关知识点。以下是对这些内容的详细说明: 1. **Socket编程**:Socket是网络编程的基础,它提供了一种进程间通信(IPC)...
在Android客户端应用开发中,有时候需要与PC服务器端进行数据通信,这通常涉及到网络编程的知识,特别是使用Socket进行TCP/IP连接。在这个场景下,Android客户端通过Socket连接到PC服务器端,实现数据的发送和接收。...
PC 服务器端使用 ServerSocket 对象监听来自客户端的 Socket 连接。首先,创建 ServerSocket 对象,并指定监听端口号。然后,使用 accept() 方法监听来自客户端的连接请求。当接收到连接请求后,获取消息到输入流,...
在Android平台上实现基于WiFi的Socket通信,涉及到网络编程的核心概念,包括TCP/IP协议、套接字(Socket)以及客户端(Client)与服务器端(Server)的交互。本篇将详细阐述这些知识点,并以"SocketServer"和"Socket...
在 PC 服务器端,我们使用 ServerSocket 对象来监听来自客户端的 Socket 连接。首先,我们创建一个 ServerSocket 对象,并指定监听的端口号。然后,我们使用 accept() 方法来接受来自客户端的连接请求。当接受到连接...
在本项目中,Qt服务器端扮演的角色是接收来自Android客户端的指令,并在PC上执行相应操作。实现步骤可能包括: 1. 创建服务器监听:设置一个服务器端口,用于监听客户端连接请求。 2. 数据解析:接收到客户端发送的...
最近的Android项目开发过程中一个问题困扰自己很长时间,Android客户端与服务器交互有几种方式,最常见的就是webservices和json。要在Android手机客户端与pc服务器交互,需要满足下面几种条件:跨平台、传输数据格式...
**PC服务器端** 服务器端部分主要关注以下内容: 1. **服务器框架**:可能使用Java的Spring Boot或.NET的ASP.NET Core作为服务器框架,提供RESTful API或WebSocket服务。 2. **网络编程**:使用Socket编程实现TCP...
Socket通信可以分为客户端Socket和服务器端Socket两种,其中客户端Socket用于发起连接请求,服务器端Socket用于监听并接收连接请求。 #### 二、关键概念 - **Socket**:Socket是一种双向通信的管道,用于连接...
标题中的“PC与Android客户端的Socket通讯”是指在个人计算机(PC)和运行Android操作系统的设备之间通过Socket进行网络通信的技术。Socket是网络编程的基本组件,它提供了进程间通信(IPC)的能力,使得两个不同...
1. **Android端作为Socket服务器**:运行在后台的服务程序,负责接收来自PC客户端的命令,并处理数据后将结果返回给PC客户端。 2. **PC端作为Socket客户端**:发送操作命令给Android端的应用程序。 #### 技术难点...
5. **服务器端处理**:在PC服务器端,接收到的Socket数据需要解码并处理,这通常涉及到对RTP包的解析,以及将数据重组为连续的视频流。服务器可能还需要具备多路复用和分发能力,如果有多台Android设备同时向服务器...
在PC端,我们需要创建一个服务器Socket监听特定端口,等待Android客户端的连接。当连接建立后,双方就可以通过Socket的输入流和输出流进行数据交换。这通常涉及到数据的序列化和反序列化,以便正确地在两端解析和...
在这个场景中,我们关注的是安卓客户端(Android)通过Socket与PC端的C#服务器进行通信。Socket是网络编程的基础,它允许两个程序通过网络交换数据。本篇文章将深入探讨如何实现这个过程,包括C#服务器和安卓客户端...
需要注意的是,为了在真机上测试,服务器端需要运行在PC或其他服务器上,而客户端则是在Android设备上。确保设备与服务器在同一网络环境下,可以通过获取设备的IP地址(例如使用`InetAddress.getLocalHost()....
`Socket`用于客户端,而`ServerSocket`用于服务器端。 **TCP(Transmission Control Protocol)**是一种面向连接的、可靠的传输协议。在TCP通信开始前,客户端需要先与服务器建立连接(三次握手),然后才能进行...
这个压缩包中的“Socket编程源码(与PC通讯)”应该包含了上述步骤的完整实现,包括Android客户端和PC服务器端的代码。通过查看和运行这些示例代码,开发者可以深入理解Socket通信的工作原理,如何在Android应用中...
1. 监听并接受连接:服务器端创建ServerSocket,并通过accept方法等待Android客户端的连接。 2. 接收并解析数据:当收到Android端的数据时,服务器端需要解析这些绘画指令,可能涉及到序列化和反序列化的操作。 3. ...