package myqq;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//服务器端
public class MyqqServer {
public static void main(String[] args) throws Exception {
try {
System.out.println("友情提示:------------------ 请输入e来离开qq");
ServerSocket serverSocket = new ServerSocket(4856);
while (true) {
Socket accept = serverSocket.accept();
InputStream is = accept.getInputStream();
time2();
byte[] data = new byte[1024];
int len = 0;
while ((len = is.read(data)) != -1) {
System.out.println(new String(data, 0, len));
}
time1();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char flag = str.charAt(0);
if (flag == 'e') {
System.out.println("感谢您的使用 mua 再见!");
Thread.currentThread().stop();
}
OutputStream os = accept.getOutputStream();
os.write(str.getBytes());
accept.shutdownOutput();
is.close();
os.close();
accept.close();
}
} catch (Exception e) {
System.out.println("对面不想和你聊天 呜呜呜");
System.exit(0);
}
}
public static void time1() {
// 这是发送聊天的时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 EEE HH:mm:ss");
System.out.println(sdf.format(date));
System.out.println("请输入你的消息(enter):");
}
public static void time2() {
// 这是接受聊天的时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 EEE HH:mm:ss");
System.out.println(sdf.format(date));
}
}
记得要先开启服务器端哦 如果你的端口号被占用了就改一个端口号
package myqq;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//客户端
public class MyqqClient {
public static void main(String[] args) throws Exception {
try {
System.out.println("友情提示:------------------ 请输入e来离开qq");
while (true) {
Socket client_socket = new Socket(InetAddress.getLocalHost(), 4856);
OutputStream os = client_socket.getOutputStream();
time1();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char flag = str.charAt(0);
if (flag == 'e') {
System.out.println("感谢您的使用 mua 再见!");
Thread.currentThread().stop();
}
os.write(str.getBytes());
client_socket.shutdownOutput();
InputStream is = client_socket.getInputStream();
time2();
byte[] data = new byte[1024];
int len = 0;
while ((len = is.read(data)) != -1) {
System.out.println(new String(data, 0, len));
}
is.close();
os.close();
client_socket.close();
Thread.sleep(200);
}
} catch (Exception e) {
System.out.println("对面不想和你聊天 呜呜呜");
System.exit(0);
}
}
public static void time1() {
// 这是发送聊天的时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 EEE HH:mm:ss");
System.out.println(sdf.format(date));
System.out.println("请输入你的消息(enter):");
}
public static void time2() {
// 这是接受聊天的时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 EEE HH:mm:ss");
System.out.println(sdf.format(date));
}
}
如果你不是本地通讯的话就把ip地址改成对方电脑的ip地址哦
客户端效果实图:
服务端效果图:
以后要经常写博客了 让自己的五姑凉不在寂寞!嘿嘿