概述
本代码实现的功能是:利用socket网络编程,实现一个服务器和多台客户端的互聊!
知识点:多线程 IO流 socket网络编程等等!!!!
首先写服务器:(就不多做解释了)
public class Server {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(5500);
while (true) {
Socket socket = server.accept();
ServerThread st = new ServerThread(socket);
st.start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
然后写多线程
public class ServerThread extends Thread {
Socket socket;
public ServerThread(Socket socket) {
super();
this.socket = socket;
}
@Override
public void run() {
try {
DataInputStream in = new DataInputStream(socket.getInputStream());
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
Scanner scanner = new Scanner(System.in);
while (true) {
String accpet = in.readUTF();
System.out.println(accpet);
String send = scanner.nextLine();
out.writeUTF("管哥:" + send);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
最后写客户端:
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 5500);
try {
DataInputStream in = new DataInputStream(socket.getInputStream());
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
Scanner scanner = new Scanner(System.in);
while (true) {
String send = scanner.nextLine();
out.writeUTF("杨天阳:" + send);
String accpet = in.readUTF();
System.out.println(accpet);
}
} finally {
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
如果想实现多客户端只要要把客户端的代码多复制几个就好;
实现效果如下图
服务器的实现截图:
客户端的实现截图:
最后
以上就是土豪身影为你收集整理的java使用socket网络编程实现qq互聊,一个服务器和多个客户端的全部内容,希望文章能够帮你解决java使用socket网络编程实现qq互聊,一个服务器和多个客户端所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复