java 服务器 客户端_Java客户端与服务器端的超简易通讯1

初学Android网络编程,还是很多不懂,这只是为了初学者渐渐接触Android网络编程。(

laugh.gif我也是初学者,并且第一次写博文),假如那里写着不对,敬请指出~~

-----------------------------------------------------------------------------美丽的分割线--------------------------------------------------------------------------------------------

这篇文章想实现的效果是客户端发送几个文字到服务器端,而服务器端接收文字并将其输出。

若想实现客户端和服务器端之间通讯,不用说,需要分别写这两端的代码。

直接贴上客户端代码,注释写得挺详细的。大家看看~~

import java.io.OutputStream;

import java.io.PrintStream;

import java.net.Socket;

/**

* 客户端代码

*

*/

public class ClientSocket {

public static void main(String[] args) {

try {

//创建一个socket,并开始连接服务器

Socket s = new Socket("192.168.1.105", 80);//"192.168.1.105"为服务器的ip地址,80为服务器的端口后,这两个都不是固定的。

//创建一个输出流

OutputStream os = s.getOutputStream();

//创建一个字节打印流,便于将数据储存到输出流中

PrintStream ps = new PrintStream(os);

//将字符串"hello"打印到输出流中

ps.println("hello");

//关闭流对象,释放资源

s.close();

ps.close();

os.close();

} catch (Exception e) {

e.printStackTrace();//将错误报告输出

}

}

}

以下为服务器端的代码:

import java.io.DataInputStream;

import java.io.InputStream;

import java.net.ServerSocket;

import java.net.Socket;

/**

* 服务器端代码

*

*/

public class ServerSocket1 {

public static void main(String[] args) {

try {

//创建一个ServerSocket对象,并设置其端口

ServerSocket ss = new ServerSocket(80);

//设置一个无限循环,使服务器能无时无刻在检测是否有客户端发信息给服务器

while (true) {

//获取客户端的对象

Socket s = ss.accept();

//将客户端发送的输出流接收,在服务器的角度上看就是输入流

InputStream is = s.getInputStream();

//创建一个DataInputStream对象,便于解析所接受的输入流

DataInputStream dis = new DataInputStream(is);

//读取输入流中的一行数据,并将其赋值给一个字符串记录

String request = dis.readLine();

//将字符串输出

System.out.println(request);

//关闭Socket对象,节省资源

s.close();

}

} catch (Exception e) {

//将错误报告输出

e.printStackTrace();

}

}

注意:需要先执行服务器端的代码,再执行客户端的代码。

以下为代码的运行效果:

ef608b7efc0001fd39b675549b47d0c4.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

以下为源码:(导入即可使用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值