如何在Android系统下开发一个聊天软件?

如何在Android系统下开发一个聊天软件?,第1张

开发一个简单的Android聊天软件,需要将开发一个Android应用,以及服务端程序。

客户端登录后初始化socket长连接,向服务端发起链接,服务端收到客户端链接,返回链接成功,即客户端上线成功。

客户端上线成功后,即可以向服务端发送消息,服务端收到消息后,将消息转发给指定的客户端。一条聊天消息即发送成功。

代码如下:

package com.neusoft.edu.socket

import java.io.BufferedReader

import java.io.IOException

import java.io.InputStreamReader

import java.io.PrintWriter

import java.net.ServerSocket

import java.net.Socket

/**

* 服务器端代码

* 获取客户端发送的信息,显示并且返回对应的回复

* 1、创建ServerSocket对象

* 2、调用accept方法获取客户端连接

* 3、使用输入流读取客户端发送的数据

* 4、使用输出流向客户端写入数据

* 5、关闭对应的对象

* @author L

*

*/

public class ChatServer {

/**

* @param args

*/

public static void main(String[] args) {

try {

//1、创建ServerSocket对象,8875为自定义端口号

ServerSocket server = new ServerSocket(8857)

//简单提示

System.out.println("等待客户端连接……")

//2、获取客户端连接

Socket client = server.accept()

//获取客户端的相关信息

System.out.println(client.getInetAddress().getHostAddress() + "连接上来了……")

//3.1、定义输入流和输出流对象

BufferedReader in = new BufferedReader(

new InputStreamReader(

client.getInputStream()))

//用来获取从控制台输入的数据,将该数据发送给客户端

BufferedReader inByServer = new BufferedReader(

new InputStreamReader(System.in))

PrintWriter out = new PrintWriter(client.getOutputStream(), true)

//读取到的数据

String data = null

String answer = null

//循环和客户端进行通信

do

{

//3.2、读取客户端发送的数据

data = in.readLine()

//在服务器端显示读取到的数据

System.out.println("客户端发送信息:" + data)

//获取服务器端要发送给客户端的信息

System.out.print("服务器端回复客户端:")

answer = inByServer.readLine()

//3.3、将数据写入到客户端

out.println(answer)

out.flush()

}while(!"bye".equals(data))

//4、关闭相关资源

out.flush()

in.close()

inByServer.close()

out.close()

//关闭Socket对象

client.close()

server.close()

System.out.println("服务器端关闭……")

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11789477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存