资源简介
实用线程+循环完成了客户端与服务端的简单通信(服务端为本机),服务器端可以向客户端发送消息,客户端也可以向服务器端发送消息。你一句我一句实现对话,通过检测内容是否为OVER结束对话。
代码片段和文件信息
package com.NullChenHui;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class ClientThread extends Thread {
private String IP;
private int port;
private boolean OVER_FLAG = false;
public ClientThread(String IP int port) {
this.IP = IP;
this.port = port;
}
@Override
public void run() {
// TODO Auto-generated method stub
OutputStream os =null;
PrintWriter pw = null;
try {
//1.建立客户端Socket 并指定发送服务器端的地址(IP + port )
//2.获取输出流
while(!OVER_FLAG) {
Socket socket = new Socket(IPport);
os = socket.getOutputStream();
pw = new PrintWriter(os);
//3.发送数据
System.out.print(“客户端:“);
Scanner scanner = new Scanner(System.in);
String data1 = scanner.nextLine();
pw.write(data1);
pw.flush();
//4.关闭资源
socket.shutdownOutput();
//接受来自服务器的反馈
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is); //字节流包装为字符流
BufferedReader bf = new BufferedReader(isr); //添加进缓存
//4.从缓存中读取数据
String info = null;
while((info=bf.readLine()) != null) {
System.out.println(“服务器说:“+info);
if(“OVER“.equals(info)) {
OVER_FLAG = true;
break;
}
}
/***
* 如果获取的内容是空的 说明服务器端还没有发送数据
*/
// 5 关闭资源
os.close();
pw.close();
is.close();
bf.close();
// socket.shutdownInput();
}
System.out.println(“对话结束“);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2018-03-17 09:00 com.NullChenHui\.classpath
文件 391 2018-03-17 09:00 com.NullChenHui\.project
文件 598 2018-03-17 09:00 com.NullChenHui\.settings\org.eclipse.jdt.core.prefs
文件 2483 2018-03-17 12:38 com.NullChenHui\bin\com\NullChenHui\ClientThread.class
文件 767 2018-03-17 12:08 com.NullChenHui\bin\com\NullChenHui\MyClientSocket.class
文件 732 2018-03-17 12:08 com.NullChenHui\bin\com\NullChenHui\MyServerSocket.class
文件 2463 2018-03-17 12:33 com.NullChenHui\bin\com\NullChenHui\ServerThread.class
文件 2017 2018-03-17 12:38 com.NullChenHui\src\com\NullChenHui\ClientThread.java
文件 233 2018-03-17 12:08 com.NullChenHui\src\com\NullChenHui\MyClientSocket.java
文件 327 2018-03-17 12:08 com.NullChenHui\src\com\NullChenHui\MyServerSocket.java
文件 1992 2018-03-17 12:33 com.NullChenHui\src\com\NullChenHui\ServerThread.java
目录 0 2018-03-17 11:47 com.NullChenHui\bin\com\NullChenHui
目录 0 2018-03-17 10:50 com.NullChenHui\src\com\NullChenHui
目录 0 2018-03-17 09:00 com.NullChenHui\bin\com
目录 0 2018-03-17 09:00 com.NullChenHui\src\com
目录 0 2018-03-17 09:00 com.NullChenHui\.settings
目录 0 2018-03-17 09:00 com.NullChenHui\bin
目录 0 2018-03-17 09:00 com.NullChenHui\src
目录 0 2018-03-17 09:00 com.NullChenHui
----------- --------- ---------- ----- ----
12304 19
相关资源
- websockets实现tomcat日志在线输出
- Java TCP IP Socket
- hpsocket demo
- websocket推送(兼容低版本的IE浏览器)
- java共享画板
- java实现Socket方式文件批量传输/上传到
- java实现websocket简单demo
- Socket发送并接收服务器返回的数据
- JAVA局域网聊天系统微仿QQ
- JAVA整合WebSocket实现服务器消息推送项
- commons-httpclient-3.0
- android与c++通过socket通信
- Android基于局域网socket通信
- Android代码-在wifi下手机与电脑的sock
- java建立TCP长链接
- 采用java编写的TCP/IP服务器端程序
- 基于socket通信的java应用实现
- 基于Socket的Android聊天室
- socket编程实验报告
- 基于TCP/IP~Android客户端与PC通信源码
- socket多线程文件上传
- Java Socket 模拟 Ftp Server/Client
- Java利用WebSocket实现聊天系统源码
- 用java写socket.io客户端所需jar包
- Android socket即时通信Demo
- Android应用源码安卓与PC的Socket通信项
- websocket java 实现
- tcpdump Android 6.0可用亲测
- webSocket实现Android客户端之间简单的通
- 完整版modbus+tcp+ java开发代码
评论
共有 条评论