android socket 服务端,android的Socket编程---实现简单的服务器,并与客户端通信

本文展示了如何使用Java实现一个简单的服务器和客户端通信。服务器通过ServerSocket监听30000端口,接收到客户端连接后发送'hello!'消息。客户端则连接到服务器,读取并显示接收到的'hello!'消息。为了运行此示例,必须确保先启动服务器,再启动客户端。
摘要由CSDN通过智能技术生成

1.实现服务器

import java.io.IOException;

import java.io.OutputStream;

import java.net.ServerSocket;

import java.net.Socket;

public class myService {

public myService() {

try {

//ServerSocket对象用于监听来自客户端的Socket连接,如果没有连接,它将一直处于等待状态。30000是端口号

ServerSocket s=new ServerSocket(30000);

//永真循环,使服务器随时接受客户端请求

while(true){

//获取客户端套接字

//如果接收到一个客户端Socket的连接请求,该方法将返回一个与客户端Socket对应的Socket

Socket so=s.accept();

//获得输入流

OutputStream i=so.getOutputStream();

String msg="hello!";

//写字符串

i.write(msg.getBytes());

//关闭输入流

i.close();

//关闭客户端连接

so.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* @param args

*/

public static void main(String[] args) {

new myService();

}

}

2.实现客户端

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.Socket;

import java.net.UnknownHostException;

import android.os.Bundle;

import android.app.Activity;

import android.util.Log;

import android.widget.TextView;

public class MainActivity extends Activity {

private TextView t;

private static String s;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

t=(TextView)this.findViewById(R.id.txt);

//需要建立子线程,有关网络的操作不能在主线程上运行

new Thread(){

public void run(){

Socket so;

try {

//用自己电脑IP地址,与端口号建立客户端Socket

so = new Socket("222.201.165.95",30000);

//应用Socket 创建 BufferedReader 对象 , 用于接收Socket Stream 中的数据

BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream()));

s=br.readLine();

Log.v("re",s);

t.setText(s);

br.close();

so.close();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}.start();

}

}

3.必须在manifest文件声明

运行时,先运行服务端程序,再运行客户端程序。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值