• 大小: 8KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-24
  • 语言: Java
  • 标签: Socket  TCP  

资源简介

实用线程+循环完成了客户端与服务端的简单通信(服务端为本机),服务器端可以向客户端发送消息,客户端也可以向服务器端发送消息。你一句我一句实现对话,通过检测内容是否为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


评论

共有 条评论