Socket编程
/*姓名 : 赵康乐
职业 : 学生
日期 : 2022-06-10
任务 : 实现客户端与服务的的交互
*/
服务端
package Computer;
import java.util.Scanner;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TestServerSocket{
public static void main(String[] args) {
try{
InputStream in = null;
OutputStream out = null;
DataOutputStream dos = null;
DataInputStream dis = null;
String msg = null;
Scanner input = new Scanner(System.in);
ServerSocket s = new ServerSocket(8889);
while(true){
Socket socket = s.accept();
out = socket.getOutputStream();
dos = new DataOutputStream(out);
in = socket.getInputStream();
dis = new DataInputStream(in);
while(true){
System.out.println("请输入服务端发送的内容: ");
msg = input.nextLine();
dos.writeUTF(msg);
System.out.println("服务器发送完成");
msg = dis.readUTF();
if(msg.isEmpty()){
System.out.println("程序结束运行");
socket.close();
break;
}
System.out.println(msg);
}
dos.close();
dis.close();
input.close();
}
}catch(IOException e){
System.out.println("程序结束运行");
}catch(Exception e){
e.printStackTrace();
}
}
}
客户端
package Computer;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.*;
import java.util.Scanner;
public class TestSocket{
public static void main(String[] args) {
InputStream in = null;
OutputStream out = null;
DataInputStream dis = null;
DataOutputStream dos = null;
String msg = null;
Scanner input = new Scanner(System.in);
try{
InetAddress myID = InetAddress.getLocalHost();
Socket socket = new Socket(myID.getHostAddress(), 8889);
in = socket.getInputStream();
out = socket.getOutputStream();
dis = new DataInputStream(in);
dos = new DataOutputStream(out);
while(true){
System.out.println("正在接收服务端发来的信息......");
System.out.println(dis.readUTF());
System.out.println("接收完成");
System.out.println("请输入你要发送的信息 (输入e结束程序)");
msg = input.nextLine();
if(msg.equals("e")){
System.out.println("程序结束运行");
socket.close();
break;
}else{
dos.writeUTF(msg);
System.out.println("信息发送成功");
}
}
dis.close();
dos.close();
input.close();
}catch(IOException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
}
浙公网安备 33010602011771号