主要是完成tcp的主机与服务器的通信,软件eclipce
下面是程序,来自大佬博客:https://blog.csdn.net/LJH_laura_li/article/details/82430038
大佬用的不是eclipse,所以想问问怎么打开两个java文件的调试框,进行两端的输入输出
服务器端:
package tcp;
import java.net.*;
import java.io.*;
public class TcpServer {
public static void main(String[] args)throws Exception
{
try{
//建立套接字
ServerSocket server = new ServerSocket(4701);
//监听
Socket socket = server.accept();
//建立连接
InputStreamReader Sysin = new InputStreamReader(System.in);//键盘读入
BufferedReader SysBuf = new BufferedReader(Sysin);
InputStreamReader Socin = new InputStreamReader(socket.getInputStream());//socket读入
BufferedReader SocBuf = new BufferedReader(Socin);
PrintWriter Socout = new PrintWriter(socket.getOutputStream());//写入socket
//通信
System.out.println("Client:"+SocBuf.readLine());//从客户端接收
String readline = SysBuf.readLine();
while(!readline.equals("bye")){
Socout.println(readline);
Socout.flush();
System.out.println("readline"+readline);
String rl = SocBuf.readLine();//检测接收缓冲区,若非ok则打印错误
if(!rl.equals("ok"))
System.out.println("Client:"+rl);
else
break;
readline = SysBuf.readLine();
}
//关闭IO、socket
Socout.close();
Socin.close();
server.close();
}catch (Exception e){
System.out.println("Error:"+e);
}
}
}
主机端:
package tcp;
import java.net.*;
import java.io.*;
public class TcpClient {
public static void main(String[] args)throws Exception {
try{
//创建socket
Socket socket = new Socket("192.168.1.4",4700);
//建立连接
InputStreamReader Sysin = new InputStreamReader(System.in);//键盘读入
BufferedReader SysBuf = new BufferedReader(Sysin);
InputStreamReader Socin = new InputStreamReader(socket.getInputStream());//socket读入
BufferedReader SocBuf = new BufferedReader(Socin);
PrintWriter Socout = new PrintWriter(socket.getOutputStream());//写入socket
//进行通信
String readline = SysBuf.readLine();//等待键盘键入字符
while(!readline.equals("bye")){//如果是bye则停止互相发送
Socout.println(readline);//写入socket
Socout.flush();//刷新缓冲区,让服务器立刻接收到新的消息
System.out.println("Client:"+readline);
//上3,客户端向服务器发信息
//发回客户端
System.out.println("Server:"+SocBuf.readLine());//readLine如果未接收到则会停在这里
readline = SysBuf.readLine();//客户端再发向服务器
}
//关闭IO和socket
Socout.close();
Socin.close();
socket.close();
}catch(Exception e){
System.out.println("Error:"+e);}//打印错误
}
}