Server 代码
package com;
import java.net.*;
import java.io.*;
import java.util.*;
public class Server {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(8001);
List<Socket> ss = new ArrayList<Socket>();
while (true) {
Socket socket = server.accept();
ss.add(socket);
new ServerThread1(socket).start();
}
// socket.close();
// server.close();
}
}
class ServerThread1 extends Thread {
private Socket socket;
public ServerThread1(Socket socket) {
this.socket = socket;
}
public void run() {
PrintWriter out = null;
BufferedReader in = null;
try {
out = new PrintWriter(socket.getOutputStream());
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
String s = in.readLine();
System.out.println(s + "上线了");
out.println(s + "上线了");
out.flush();
s = in.readLine();
while (s != null && !s.equals("quit")) {
System.out.println(s);
out.println(s);
out.flush();
s = in.readLine();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
in.close();
out.close();
socket.close();
} catch (Exception e) {
}
}
}
}
Client代码
package com;
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("127.0.0.1", 5001);
//
BufferedReader sin = new BufferedReader(
new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(socket.getOutputStream());
String cname = args[0];
out.println(cname);
out.flush();
new ClientThread1(socket).start();//
String c = sin.readLine();
while (!c.equals("quit")) {
out.println(cname + "说:" + c);
out.flush();
c = sin.readLine();
}
out.close();
socket.close();
}
}
class ClientThread1 extends Thread {
private Socket socket;
public ClientThread1(Socket socket) {
this.socket = socket;
}
public void run() {
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while (true) {
String s;
try {
s = in.readLine();
System.out.println(s);
} catch (IOException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
break;
}
}
}
}
分享到:
相关推荐
这是一个群聊的socket实例, 可以实现多个客户端与服务器建立连接后,进行群聊天; 要求: 1、服务器先启动, 2、各客户端连接到服务器,通过向服务器发送消息,再由服务器向客户端发送广播消息;
用观察者模式实现socket群聊
实现在多个客户端中实现群聊的功能,并且是在图形用户界面下进行操作。
运用多线程和socket实现群聊的功能,分为客户端和服务端
研究了一个多星期socket 写了个局域网群聊的小程序,, 分服务端,,,客户端(可多开),,,代码比较乱,但有注释, 给大家看看有什么不足的地方 告诉小弟我,,qq623932737 email:623932737@qq.com
该demo实现了客户端与服务器端的通信,实现了类似于群聊的效果。no demo no true!!
express_socket_demo 群聊功能express_socket_demo 群聊功能
socket编写的一个聊天系统,多台电脑聊天,源码
一个用socket写的聊天小程序,实现了局域网内群聊,单聊,发送文件,屏蔽用户,把用户强制T下线等功能,里面包含了代码和软件。
c# socket编程 一个简单的模拟QQ聊天软件 可以群聊
多个客户端, 通过socket通过一个socket服务器进行群聊.服务器负责接受所有客户端发来的消息,和将接受到的问题群发到其他用户
自己学习时写的socket的局域网群聊系统,很适合初学java的人学习参考,程序下下来就导入myEclipse就可以运行
javaSocket带界面聊天室
socket编程实现简单私聊群聊源码
多线程 群聊功能 网络编程 套接字 socket 实现群聊功能
tkinter+多线程+socket网络登录,群聊聊天室. 可账户,账户保存至本地文件
采用java图形界面做的一个聊天工具,功能:群聊,单聊(AES加密可选)。传文件(DES加密可选)
提供两个版本:第一个测试版,是可以在一台电脑模拟实现群聊私聊的(由于ip是一样的,所以写死了);第二个是成品,如果要测试的话要找局域网内多台不同的电脑测试(因为用户之间是以IP地址区分的)。压缩包里附有...