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群聊实例”中,我们将探讨如何使用Java的Socket和ServerSocket类构建一个简单的多人聊天系统。 首先,服务器端的实现至关重要。`ServerSocket`类在Java中用于监听客户端的连接请求。你需要创建一个`...
"Socket群聊"项目就是利用Socket来构建一个可以支持多用户同时在线聊天的应用。在这个项目中,观察者模式(Observer Pattern)被巧妙地融入,以处理用户间的实时消息传递和状态更新。 首先,我们需要理解Socket的...
本项目以"socket编程(实现群聊功能+界面清晰)"为主题,旨在创建一个支持多客户端实时交流的群聊系统,同时提供了图形用户界面(GUI)以提高用户体验。以下是关于这个项目的一些关键知识点和实现细节: 1. **...
本文将深入探讨如何利用多线程和Socket技术来实现一个简单的群聊应用。这个应用包括两个主要部分:服务端(Server)和客户端(Client)。 首先,我们要理解Socket的概念。Socket是网络上的进程间通信(IPC)的一种...
研究了一个多星期socket 写了个局域网群聊的小程序,, 分服务端,,,客户端(可多开),,,代码比较乱,但有注释, 给大家看看有什么不足的地方 告诉小弟我,,qq623932737 email:623932737@qq.com
7. **聊天室逻辑**:聊天系统可能包含用户注册、登录、群聊、私聊等功能。这些功能的实现需要额外的数据结构(如队列或数据库)来存储和检索消息,以及控制用户权限。 8. **安全性**:考虑使用SSL/TLS加密通信,以...
本项目标题为"socket单聊 群聊 发送文件",这意味着它利用Java的Socket库构建了一个具备基本聊天功能的应用,包括一对一的单聊、多用户参与的群聊以及文件传输。下面将详细介绍这些知识点: 1. **Java Socket**: ...
该demo实现了客户端与服务器端的通信,实现了类似于群聊的效果。no demo no true!!
`express_socket_demo`是一个基于Express和Socket.IO的示例项目,它演示了如何在Web应用中实现群聊功能。Express是Node.js中广泛使用的Web框架,而Socket.IO则是一个强大的库,用于实现实时双向通信。下面我们将详细...
通过以上步骤,我们可以构建一个基本的Java Socket群聊系统。每个客户端都可以独立地发送和接收消息,而服务器作为中介,确保了消息的正确传递。当然,为了提升用户体验,还可以添加更多的功能,如用户名注册、在线...
Socket局域网群聊是一个基于C#编程语言和WPF(Windows Presentation Foundation)技术实现的多客户端通信系统,它利用了Socket技术构建了一个简单的聊天服务器,使得多个客户端可以在同一个局域网内进行实时的消息...
在本文中,我们将深入探讨如何在Win32平台上利用C++和Socket技术构建一个C/S架构的聊天应用程序,实现客户端间的群聊和私聊功能。首先,我们需要了解几个关键概念和关键技术。 1. **Win32 API**:Windows操作系统...
在这个“socket+swing局域网群聊系统”项目中,我们看到这两个技术的结合,为初学者提供了一个很好的实践平台。 首先,让我们详细了解一下Socket编程。Socket是网络编程的基础,它提供了应用程序之间通信的端点。在...
Java Socket 是一种在Java编程语言中实现网络通信的基础工具,常用于构建客户端-服务器应用程序。在这个"javaSocket带界面聊天室"项目中,开发者利用Java的Socket类和Swing库创建了一个具有图形用户界面(GUI)的...
Java Socket聊天程序是一种基于TCP/IP协议的网络通信方式,它允许两台计算机通过互联网进行双向通信。在这个项目中,我们看到的是一个使用Java Swing库构建的图形用户界面(GUI)应用,它集成了多种功能,如单聊、...
在本示例中,"socket编程实现简单私聊群聊源码" 涉及到的是如何使用Socket来构建一个基本的聊天应用程序,包括一对一的私聊和多用户参与的群聊功能。 首先,Socket是操作系统提供的接口,它允许应用程序通过网络...
本项目“C# Socket编程:一个简单的模拟QQ聊天软件”就是一个很好的示例,它展示了如何利用Socket实现多人在线聊天功能,类似于QQ的群聊。 首先,让我们深入了解Socket。Socket是网络通信的基础,它为应用程序提供...
多线程 群聊功能 网络编程 套接字 socket 实现群聊功能