客户端
public static void main(String[] args) {
// 客户端,直接使用Socket类型 127.0.0.1代表自己电脑的IP
Socket s = null;
try {
s = new Socket("172.30.4.99", 123);// IP地址,端口号
OutputStream os = s.getOutputStream();
PrintWriter pw = new PrintWriter(os);
Scanner scanner = new Scanner(System.in); // 键盘输入一直发消息
String str;
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
while ((str = scanner.nextLine()) != null && !"".equals(str)) {
pw.println(str);
pw.flush();
if (str.equals("bye")) {
break;
}
String temp = br.readLine();
System.out.println(temp);
if (temp.equals("bye")) {
break;
}
}
}catch (IOException e) {
System.out.println("服务器异常断开");
} finally {
try {
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
服务器
public static void main(String[] args) {
//TCP链接 服务端使用serverSocket
//网络的四元组需要本地IP,本地端口,对外IP,对外端口
try {
//服务器专用的一个类型,ServerSocket,参数需要绑定本机端口号
ServerSocket ss = new ServerSocket(23456);
System.out.println("服务器已启动");
//接收别人给的数据 管道
Socket s = ss.accept();
//查看别人连自己的ip
s.getRemoteSocketAddress();
System.out.println("链接已建立");
//获取对面的流
InputStream is = s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
PrintWriter pw = new PrintWriter(s.getOutputStream());
String str;
Scanner scanner = new Scanner(System.in);
while((str = br.readLine()) != null && !"".equals(br)) {
System.out.println(str);
if(str.equals("bye")) {
break;
}
String temp = scanner.nextLine();
pw.println(temp);
pw.flush();
if(temp.equals("bye")) {
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
评论 (0)