当前位置:文档之家› java编写的简单局域网聊天室(适合初学者)

java编写的简单局域网聊天室(适合初学者)

java编写的简单局域网聊天室(适合初学者)
java编写的简单局域网聊天室(适合初学者)

import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Frame;

import java.awt.Panel;

import java.awt.Point;

import java.awt.TextArea;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import https://www.doczj.com/doc/5699038.html,.DatagramPacket;

import https://www.doczj.com/doc/5699038.html,.DatagramSocket;

import https://www.doczj.com/doc/5699038.html,.InetAddress;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Scanner;

import java.util.concurrent.locks.Lock;

import java.util.concurrent.locks.ReentrantLock;

public class GUI_Chat extends Frame {

private static final long serialVersionUID = 1L;

private TextArea viewTextArea = new TextArea(20, 1);

private TextArea sendTextArea = new TextArea();

private TextField ipTextField = new TextField(20);

private Button sendButton = new Button("发送");

private Button clearButton = new Button("清屏");

private Button logButton = new Button("记录");

private Button shakeButton = new Button("震动");

private Panel panel = new Panel();

private DatagramSocket socket;

private Lock lock = new ReentrantLock();

private FileWriter fw;

public GUI_Chat() throws Exception {

socket = new DatagramSocket(20000);

fw = new FileWriter("log.txt", true);

generateUI();

addListener();

new ReceiveThread().start(); // 开启接收数据的线程

}

private void generateUI() {

setTitle("GUI聊天室");

setSize(400, 600);

setLocation(600, 50);

setMinimumSize(new Dimension(400, 600)); // 设置最小尺寸

Font font = new Font("Courier New", Font.PLAIN, 15);

viewTextArea.setFont(font); // 设置字体

viewTextArea.setEditable(false); // 设置不可编辑(会改变背景色) viewTextArea.setBackground(Color.WHITE); // 设置背景色

add(viewTextArea, BorderLayout.NORTH); // 把viewTextArea放在上面

sendTextArea.setFont(font);

add(sendTextArea, BorderLayout.CENTER); // 把sendTextArea放在中间

panel.add(ipTextField);

panel.add(sendButton);

panel.add(clearButton);

panel.add(logButton);

panel.add(shakeButton);

add(panel, BorderLayout.SOUTH); // 把Panel放在下面

}

private void addListener() {

addWindowListener(new WindowAdapter() { // 关闭窗体public void windowClosing(WindowEvent e) {

try {

fw.close();

} catch (IOException e1) {

e1.printStackTrace();

}

System.exit(0);

}

});

sendButton.addActionListener(new ActionListener() { // 发送功能public void actionPerformed(ActionEvent e) {

send();

}

});

sendTextArea.addKeyListener(new KeyAdapter() { // 处理快捷键

public void keyPressed(KeyEvent e) {

if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER|| e.isAltDown() && e.getKeyCode() == KeyEvent.VK_S) {

send();

e.consume(); // 取消当前事件

}

}

});

clearButton.addActionListener(new ActionListener() { // 清屏功能

public void actionPerformed(ActionEvent e) {

viewTextArea.setText("");

}

});

logButton.addActionListener(new ActionListener() { // 聊天记录public void actionPerformed(ActionEvent e) {

showLog();

}

});

shakeButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

sendShake();

}

});

}

private void sendShake() {

try {

String ip = ipTextField.getText();

sendData(ip, new byte[] { -1 }); // 向执行IP发送一个特殊的消息

} catch (Exception e) {

e.printStackTrace();

}

}

private void showLog() {

try (Scanner scanner = new Scanner(new File("log.txt"));) {

viewTextArea.setText(""); // 清屏

fw.flush(); // 把未保存的数据写入文件

while (scanner.hasNextLine()) // 如过文件中有数据就进入循环

viewTextArea.append(scanner.nextLine() + "\r\n"); // 从文件读取一行, 追加到viewTextArea中

} catch (Exception e) {

e.printStackTrace();

}

}

private void send() {

try {

String msg = sendTextArea.getText(); // 获取要发的内容

String ip = ipTextField.getText(); // 获取目标地址

ip = ip.trim().length() == 0 ? "255.255.255.255" : ip;

String content = getTime() + " 我对 <"+ (ip.equals("255.255.255.255") ? "所有人" : ip) + "> 说: \r\n" + msg + "\r\n\r\n";

lock.lock(); // 开始同步

sendData(ip, msg.getBytes()); // 发送数据

sendTextArea.setText(""); // 清空

viewTextArea.append(content); // 把要显示的内容追加到viewTextArea中

fw.write(content); // 保存聊天记录

lock.unlock(); // 结束同步

} catch (Exception e) {

e.printStackTrace();

}

}

private void sendData(String ip, byte[] data) throws Exception {

DatagramPacket packet = new DatagramPacket(data, data.length, InetAddress.getByName(ip), 20000);

socket.send(packet); // UDP发送数据

}

private String getTime() {

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return sdf.format(date); // 返回当前时间字符串

}

private class ReceiveThread extends Thread {

public void run() {

DatagramPacket packet = new DatagramPacket(new byte[8192], 8192);

while (true) {

try {

socket.receive(packet);

byte[] arr = packet.getData();

int length = packet.getLength();

String s = new String(arr, 0, length); // 接收到的字符串

String ip = packet.getAddress().getHostAddress();

String content = getTime() + " <"+ ip + "> 对我说:\r\n"+ s + "\r\n\r\n"; // 在viewTextArea中显示的内容

if (length == 1 && arr[0] == -1) { // 判断是否收到震动消息

doShake(); // 震动(改变位置)

continue; // 进入下一次循环

}

lock.lock(); // 开始同步

viewTextArea.append(content);

fw.write(content); // 保存聊天记录

lock.unlock(); // 结束同步

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

private void doShake() { //震动方法 (通过改变窗体的位置实现) try {

Point point = getLocation();

for (int i = 0; i < 5; i++) {

Thread.sleep(30);

setLocation(point.x + 5, point.y);

Thread.sleep(30);

setLocation(point.x - 5, point.y + 5);

}

setLocation(point);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

public static void main(String[] args) throws Exception {

new GUI_Chat().setVisible(true);

}

}

局域网聊天系统(详细设计)

局域网聊天系统 详 细 设 计 成绩:

目录 1.功能需求 (1) 2.数据库设计 (1) 2.1 基本表设计 (1) 2.1.1 表结构汇总 (1) 2.1.2 T_Users表结构设计 (2) 2.1.3 XXX表结构设计 (2) 2.2 视图设计 (2) 2.2.1 视图汇总 (2) 2.2.2 XXX视图设计 (2) 2.3 存储过程设计 (3) 2.3.1 存储过程汇总 (3) 2.3.2 XXX存储过程代码 (3) 3.服务器端设计及实现 (3) 3.1 启动服务器功能的设计与实现 (3) 3.1.1 界面设计 (3) 3.1.2 流程 (4) 3.1.3 关键代码 (4) 3.2 消息管理功能的设计与实现 (4) 3.2.1 界面设计 (3) 3.2.2 流程 (4) 3.2.3 关键代码 (4) 4.客户端的设计与实现 (5) 4.1 注册模块的设计与实现 (5) 4.1.1 界面设计 (5) 4.1.2 流程图 (6) 4.1.3 关键代码 (6) 4.2 登陆功能的设计与实现 (6) 4.2.1 界面设计 (5) 4.2.2 流程图 (5) 4.2.3 关键代码 (6) 4.3 聊天功能的设计与实现 (7) 4.3.1 界面设计 (8) 4.3.2 流程图 (8) 4.3.3 关键代码 (9) 5.人员及分工 (9)

局域网聊天系统 详细设计1.功能需求 图 1 项目功能结构图2.数据库设计 2.1 基本表设计 2.1.1 表结构汇总 表 1 基本表汇总

2.1.2 T_Users表结构设计 表 2 用户表(T_Users)结构设计 2.1.3 XXX表结构设计 表 3 XXX(xxx)结构设计 2.2 视图设计 2.2.1 视图汇总 2.2.2 XXX视图设计

JAVA局域网聊天系统源代码

这是我自己做的简单聊天系统客户端 package LiaoTianSys; import java.awt.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import https://www.doczj.com/doc/5699038.html,.Socket; import https://www.doczj.com/doc/5699038.html,.UnknownHostException; public class ConversationFrame extends JFrame { JScrollPane jsp; JTextField jtf; static JTextArea jta; //JTextArea jat1,jta2; JButton enter=new JButton("发送"); JButton jb=new JButton("聊天室好友"); JButton jb2=new JButton("进入聊天室"); JButton jb3=new JButton("刷新在线人员列表"); JPanel jp,jp1,jp3,jp4; DefaultListModel listmodel = new DefaultListModel(); //static String[] NAME=new String[10]; String n[]={"f"}; JList list=new JList(listmodel); JLabel time=new JLabel("当前系统时间:"); JLabel showtime=new JLabel("显示时间"); JLabel jl=new JLabel("输聊天信息"); JLabel nicheng=new JLabel("昵称"); JTextField NCshuru=new JTextField(10); static DataOutputStream dos; static DataInputStream dis; //final LoginFrame lf; Socket socket; public ConversationFrame() { Container con=getContentPane(); con.setLayout(new BorderLayout()); jp=new JPanel(); setSize(700,600); setLocation(100,100); jta=new JTextArea(); jta.setEditable(false);

基于.NET局域网聊天工具设计

基于.NET局域网聊天工具设计 学校: 系:计算机系 专业:小学教育计算机双语 姓名: 完成时间:2012年5月28日

设计(论文)题目: 基于.NET局域网聊天工具设计 设计(论文)要求: 本设计的主要工作是设计一个基于WINDOWS平台的局域网即时聊天工具,具体是采用C\S模式实现用户之间的通信,然后阐述本软件的功能、特点及使用方法,并详细阐述开发本软件所用的相关技术,具体分析本软件的各个模块的功能及实现方法,说明本软件的设计思想及方法。 局域网聊天工具,是在局域网内部使用的,用户之间用来交流的一个工具,一般都具有文本聊天和文件传输功能。局域网聊天软件因其使用简单,系统资源消耗少等优点,成为各企事业单位等的局域网内广泛应用的软件之一。

中文摘要: 随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。局域网的发展也同样迅速。很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET。因此基于局域网的即时通信工具,就这样应运而生了。本文提出了一个局域网聊天工具的设计,并在WINDOWS平台上加以了实现。本设计将文本聊天和文件传输等功能综合在一个客户端程序之内,使用C#语言进行网络编程,并进行了人性化的界面设计,使用起来简单方便,并且功能十分合理,又易于扩展以及个性化定制。 关键词:局域网;C/S体系结构;文本聊天;文件传输 英文摘要: Abstract:Along with the high-speed development of the computer network technology, various of applications which are based on network were born, such as Internet-based information releasing,communications,data sharing and so on. The development of LAN is the same fast. Because of Some government institutions, enterprises and schools constitute a LAN first ,then join into INTERNET, the real-time LAN-based communication tools emerged. this paper proposed a LAN chat tool designing, and then implement it on WINDOWS platform. The design integrated text-chat and file-transfer and other functions in a client procedure. It used C # language for network programming with designed a user-friendly and easy to use interface , and it's functions are reasonable and easy to extend, as well as customization. Key words: LAN; C/S Architecture ;text-chat; file-transfer;

java编写的简单局域网聊天室(适合初学者).

import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Frame; import java.awt.Panel; import java.awt.Point; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.io.FileWriter; import java.io.IOException; import https://www.doczj.com/doc/5699038.html,.DatagramPacket; import https://www.doczj.com/doc/5699038.html,.DatagramSocket; import https://www.doczj.com/doc/5699038.html,.InetAddress; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class GUI_Chat extends Frame { private static final long serialVersionUID = 1L; private TextArea viewTextArea = new TextArea(20, 1; private TextArea sendTextArea = new TextArea(; private TextField ipTextField = new TextField(20; private Button sendButton = new Button(" 发送" ; private Button clearButton = new Button(" 清屏" ; private Button logButton = new Button(" 记录" ; private Button shakeButton = new Button(" 震动" ; private Panel panel = new Panel(; private DatagramSocket socket ;

基于JAVA局域网聊天程序设计与实现(附源代码)

局域网聊天课程设计 摘要 随着互联网的发展,网络聊天工具作为一种交流工具,已经受到网民的青睐。目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯QQ、MSN-Messager等等。 即时通讯软件,是每一个上网用户都需要的工具,它除了能够让您迅速地在网上找到自己的朋友和伙伴之外,还可以实时交谈和传递信息,截止到目前,全球约有近3亿多人使用即时软件,正因为即时通讯软件拥有数以亿计的用户和增长的市场,所以各个公司都盯上了这个最大的市场,一时间,即时通讯市场硝烟四起。 对等网络(peer-to-peer,简称P2P),应用最初出现时和现在并不相同。事实上可以认为它是若干不同技术以及流行趋势相结合的产物。以下是导致P2P技术发展最重要的趋势:首先,一些新技术与软件工程的结合,形成了一种将工作分散的趋势。P2P计算正是这种分散工作趋势的结果。其次,在企业应用集成等因素的驱动下,过去十年渐渐形成从集中的单机系统转向分布式系统。然而随着互联网的发展,全面的分布式计算也就成为一种迫切需求。 关键词:局域网聊天 P2P java

Abstract With the development of the Internet,the chat tool as a communication tool, has been popularly accepted by netizens of all ages. At present, there are many powerful chat tools, of which Tencent QQ, MSN-Messager are much more prevalent. Instant messaging software is necessary for every one who connects to the internet, which can not only provide you a prompt way to find friends and partners online, but can provide you the convenience of internet relay chat and information delivering. Up to now, there are about 300 million people using real-time software all over the world. As more and more corporations have focused on this market with growing potential, which has hundreds of millions of uses, the competitions among these corporations are extremely fierce. The initial application of peer-to-peer network (peer-to-peer, referred to as P2P) is not the same as it is now. In fact, it can be regarded as a combination of different technologies and fashion trends. Below are the most important trends that have led the development of P2P technology: First of all, the integration of software engineering and new technologies led to a working dispersion trend. As a result, P2P computing was born. Then, in the past decade, it has turned fro m a single centralized system to distributed system due to the motivation of factors such as enterprise application integration. At last, with the development of the Internet, however, a comprehensive distributed computing has become an urgent need. Keywords:LAN chat P2P java

局域网内的多功能聊天室的设计与实现

JISHOU UNIVERSITY 专业课课程论文题目:局域网内的多功能聊天室的设计与实现 作者: 学号: 所属学院:信息科学与工程学院 专业年级: 总评分: 完成时间: 吉首大学信息科学与工程学院

局域网内的多功能聊天室的设计与实现 局域网内的多功能聊天室的设计与实现 (吉首大学信息科学与工程学院,湖南吉首 416000) 摘要 在计算机技术飞速发展的今天,随着Internet的普及和发展,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见、最直接的网上交流的方式。本论文主要研究一个以网络交友为主,为广大用户提供一个借助网络进行人际交往的信息平台。 本文所设计的局域网聊天系统是基于开放的WEB服务器应用程序开发设计的,其主要特征是能动态完成信息的传递且具有高效的交互性,有效的处理客户请求且具有更简单、更方便的数据库访问方法,易于维护和更新。这种技术程序由JAVA、HTML、数据库和脚本语言组合而成。主要功能模块包括:用户登录、注册部分;编写和显示聊天记录部分;管理员管理聊天室的管理部分。聊天系统编写和显示聊天记录部分界面友好,提供动作、表情、公聊或私聊等操作;管理部分可以删除不守规矩的注册用户、踢出在线用户以及删除某些不合时宜的聊天记录等、根据数据库需求分析,在ACCESS中定义3个表:用user表来存放注册用户信息、用activetable 表来存放当前在线用户信息以及用message表来存放聊天记录。本系统相比较其他信息交流平台具有开发方便、快捷,占用资源少,维护方便等优点。 【关键词】Java,数据库,脚本语言,聊天系

LAN of multi-function chat room design and Implementation Raotao (College of Information Science and Engineering,Jishou University,Jishou,Hunan 416000) Abstract The rapid development of computer technology today, with the popularity and development of Internet, people's work and life has become increasingly inseparable from the support of the information network, and the chat room is one of the most common, the most direct online communication mode.In this thesis, a network of friends, for the vast number of users with a network of have the aid of interpersonal information platform. The design of the LAN chat system is based on an open WEB server application development and design, its main characteristic is to complete the information transmission dynamically with high interactivity, effective customer request and has a more simple, more convenient database accessing method, easy maintenance and update.The technical program by JAVA, HTML, database and script language and combination.The main function modules include: user login, registration section; write and display chat recording part; the administrator manage the chat room management section.Chat system to prepare and display chat interface friendly, with action, expression, the public chat or operation; management can remove the unruly registered user, play online user and delete certain be inopportune or inappropriate chat records, according to the database needs analysis, defined in ACCESS 3: user table table for registered users of information, using activetable table to store the current online user information and the use of message table to store the chat record.This system is compared with other information exchange platform with the development of convenient, fast, less resource occupation, easy maintenance and other advantages. Key words:JA V A; data capture; information analysis ; Winpcap;Jpcap

局域网实时聊天系统

局域网实时聊天系统 1、图形界面的设置: 使用MFC应用程序框架设计局域网聊天系统的图形界面(对话框),使用的Windows标准控件包括:按钮、静态文本、IP地址控件、分组框、编辑框、列表框等控件。 本系统集服务器和客户端为一体,通过网络设置按键弹出具体设置页面,通过单选按钮进行单项设置:服务器端:本地监听端口,用于监听客户端的连接信息; 开启按键和停止按键,用于强制服务器的开启和停止。 客户端:服务器的IP设置和服务器的端口设置,用于连接服务器; 连接服务器按键和停止按键,用于主动加入和退出聊天系统。 聊天记录编辑框:默认只读,用于显示聊天系统中各客户端和服务器的聊天记录; 聊天记录输入框:输入信息之后,可点击Enter或者发送信息按键发送信息; 关闭窗口:点击按键,可关闭正在执行的对话框; 更多功能:可用于聊天系统的其他功能扩展。 2、初始化状态: CheckRadioButton:选择单选按钮中的一个; SetDlgItemText:设置编辑框中显示的字符串; EnableWindow:重载函数,设置控件的启用与关闭; ExtendDiaog:设置四个静态变量 m_DlgRectLarge、m_GroupRectLarge:用于保存主对话框和分组框的临时变量; m_DlgRectSmall、m_GroupRectSmall:用于保存主对话框和分组框的改变变量。SetWindowPos:有ID获得主对话框和分组框的句柄,设置界面的伸缩。 3、开启服务器:

(1)创建监听线程: m_hListenThread = CreateThread(NULL, 0, ListenThreadFunc, this, 0, NULL); ●NULL:返回的句柄不能被继承; ●0:新线程堆栈的大小与进程主线程堆栈相同; ●ListenThreadFunc:线程开始运行的地址,一般为线程入口函数名; ●This:传递给线程启动函数的32位参数; ●0:线程创建后立即执行;若为CREAT_SUSPEND,则挂起不执行; ●NULL:存放返回的线程ID。 (2)创建监听线程入口函数: DWORD WINAPI ListenThreadFunc(LPVOID pParam) { CChatRoomDlg *pChatRoom = (CChatRoomDlg *)pParam; //创建监听套接字(IPv4网络协议、流式套接字、TCP协议) pChatRoom->m_ListenSock = socket(AF_INET , SOCK_STREAM , IPPROTO_TCP); //创建sockaddr_in结构存储IP地址和端口 sockaddr_in service; //绑定IP地址和端口到监听套接字 bind(pChatRoom->m_ListenSock, (sockaddr*)&service, sizeof(sockaddr_in)); //监听申请的连接,等待客户端连接其中两个参数为: S:用于标识一个已捆绑未连接套接口的描述字。 backlog:等待连接队列的最大长度。 listen(pChatRoom->m_ListenSock, 5); } (3)使用异步I/O模型防止阻塞 connect、accept、recieve或recievefrom这些都是阻塞程序,所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回。 可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生,则返回一个代码来告知事件未发生,而进程或线程继续执行,所以效率较高)方式工作的程序,它能够监视我们需要监视的文件描述符的变化情况——读写或是异常。 int select(nfds, readfds, writefds, exceptfds, timeout); 返回值:准备就绪的描述符数,若超时则返回0,若出错则返回-1。 nfds:select监视的文件句柄数,视进程中打开的文件数而定,一般设为你要监视各文件 中的最大文件号加一。(注:nfds并非一定表示监视的文件句柄数。) readfds:select监视的可读文件句柄集合。 writefds: select监视的可写文件句柄集合。 exceptfds:select监视的异常文件句柄集合。 timeout:本次select()的超时结束时间。

国内几款比较好用的局域网沟通工具

国内几款比较好用的局域网沟通工具 导读:我根据大家的需要整理了一份关于《国内几款比较好用的局域网沟通工具》的内容,具体内容:局域网聊天软件,简称LCS,它是一种面向企业局域网终端使用者的网络沟通工具服务,使用者可以通过安装了即时通信的终端机进行两人或多人之间的实时沟通。下面是我收集整理的,希望对大家有帮助~... 局域网聊天软件,简称LCS,它是一种面向企业局域网终端使用者的网络沟通工具服务,使用者可以通过安装了即时通信的终端机进行两人或多人之间的实时沟通。下面是我收集整理的,希望对大家有帮助~~ 工具/原料 电脑 局域网 方法/步骤 TOP 1 imo内网通 Imo内网通是一款完全免费局域网办公沟通软件。快捷方便是软件的最大特点,自动扫描在线用户,无需安装和配置各类打印机驱动程序,即刻实现客户端文件互传、远程播放和打印功能,成为企业、政府办公和家庭多媒体共享的有力工具。 而且基于内网,安全、可控。它将聊天信息全部留在用户本机,不经过互联网和服务器,不受监控,并对聊天信息通过AES技术进行加密,从源头上保证了用户的信息安全。完全兼容网上广为流传的飞鸽传书并比原来

飞鸽功能更加强大. 很多朋友钟爱imo内网通,不仅是因为内网通避免了私人信息对工作干扰,更因为内网通的即时通讯、话题讨论、时间管理等功能,使企业内部的沟通能有效传达,让有限的时间更加专注于工作。大幅提高工作效率。功能性:★★★★☆ 性价比:★★★(完全免费) 推荐指数:★★★★★ TOP 2 飞秋 飞秋(FeiQ)是一款局域网管理软件/局域网聊天软件的绿色软件,它参考了飞鸽传书(IPMSG)和QQ, 完全兼容飞鸽传书(IPMSG)协议,具有局域网传送方便,速度快,操作简单的优点,同时具有QQ中的一些功能,是飞鸽的完善代替者。 但是很遗憾的是,由于互联网的快速发展,人们的眼光早已从局域网转向了更加广阔的全球化互联网领域。大量的软件开发人员都投身到了互联网浪潮之中,而局域网这样的"小池塘",渐渐被一些开发人员所忽略。飞秋宣布停止更新后、市场上仅仅剩下imo内网通等为数不多几家仍然坚持提供局域网沟通服务。 功能性:★★★★★ 性价比:★★☆ 推荐指数:★★★★ TOP 3 飞鸽传书 飞鸽传书是一款局域网内部聊天、文件传输工具,在程序结构方面采

局域网聊天程序的实现

分类号:TP311.1 U D C:D10621-032-(2007)6165-0 密级:公开编号:2003032147 成都信息工程学院 学位论文 局域网的聊天程序的实现 论文作者姓名:吴剑辉 申请学位专业:网络工程 申请学位类别:工学学士 指导教师姓名(职称):王海春(教授) 论文提交日期:2007年06月10日

局域网的聊天程序的实现 摘要 网络通讯是目前计算机用户进行交流最普遍的方式,各种各样的聊天软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。本文介绍了在Windows环境下开发局域网聊天程序思路和方法。系统使用流行的Delphi7.0开发软件,采用Socket技术实现网络通讯。数据库使用Delphi自带的Database desktop。系统采用典型的C/S(服务器/客户端)构架。系统主要实现了用户注册、登录、聊天、服务器管理等功能。本系统从需求分析、系统的设计、具体功能的实现都严格遵循了软件设计工程的思想。 关键词: Socket; TCP/IP; C/S

The Implementation of LAN Chatting Program Abstract Network is the most popular way of communication between computer users, therefore a lot of chatting softwares come out; on the other hand, more communication services are provided by the ISP. This paper introduces the ideas and methods of LAN chatting program which are developed on Windows. This system is developed by the Delphi7.0 software, and uses the Socket technology to implement network communications. Database using its own database desktop. Software is based on C/S architecture. The system mainly implements the functions of user registration, login, chatting, server management etc.From requirement analysis, outline design, detailed design to coding, function test, the implementation of the function in this essay absolutely follow the process of the software development. Key words:Socket; TCP/IP; C/S

局域网聊天软件

通信软件设计三级项目任务书 一、题目:局域网聊天软件分析 二、班级: 三、小组成员: 四、起止时间:第六学期第十六周2012-6-4~2012-6-9 五、设计要求与思路: 通过Ethereal抓包,认真分析飞秋的工作原理、实现方法和工作协议等,并仿照飞秋、设计实现一个简单的局域网聊天软件,尽量能够做到与飞秋兼容。 设计思路:先使用飞秋,熟悉飞秋的功能;深入分析每一部分的功能实现;通过防火墙观察飞秋使用的套接字情况,并抓包分析飞秋在使用过程中的网络数据传输,分析飞秋的应用协议,分析设计实现简单的聊天软件,实现好友列表维护和文本消息传送等功能。 六、主要任务: 1、深入理解TCP和UDP的工作原理和服务的特性,掌握套接字编程机制和方法; 2、理解C/S架构和P2P两种应用模式; 3、深入分析飞秋的功能、工作原理、应用协议等; 4、完成局域网聊天软件的分析、开发与调试; 5、在设计报告中对飞秋进行全面和深入的剖析; 6、按照格式要求撰写设计报告。 学生(签字): 指导教师(签字): 系主任(签字):院长(签字):

1、设计要求与任务 通过Ethereal抓包,认真分析飞秋的工作原理、实现方法和工作协议等,并仿照飞秋、设计实现一个简单的局域网聊天软件,尽量能够做到与飞秋兼容。 先使用飞秋,熟悉飞秋的功能;深入分析每一部分的功能实现;通过防火墙观察飞秋使用的套接字情况,并抓包分析飞秋在使用过程中的网络数据传输,分析飞秋的应用协议,分析设计实现简单的聊天软件,实现好友列表维护和文本消息传送等功能。主要任务:深入理解TCP和UDP的工作原理和服务的特性,掌握套接字编程机制和方法;理解C/S架构和P2P两种应用模式;深入分析飞秋的功能、工作原理、应用协议等;完成局域网聊天软件的分析、开发与调试;在设计报告中对飞秋进行全面和深入的剖析。 2、设计正文 2.1、飞秋分析 飞秋是一款局域网聊天传送文件的绿色软件,它参考了飞鸽传书(IPMSG)和QQ, 完全兼容飞鸽传书(IPMSG)协议,具有局域网传送方便,速度快,操作简单的优点,同时具有QQ中的一些功能,是飞鸽的完善代替者,另外,飞秋支持语音,远程协助群聊天(不需要服务器),它参考了飞鸽传书(FreeEIM)和QQ, 完全兼容飞鸽传书协议,具有局域网传送方便,速度快,操作简单的优点,同时具有QQ中的一些功能。 2.1.1、飞秋的工作原理 上线通知:对于飞秋而言,最关键的是局域网用户列表的建立;飞秋启动时使用UDP协议向255.255.255.255这个广播地址发送广播包,默认端口是2425。广播包内容包含用户名、工作组、主机名、IP等信息;已启动飞秋的用户通过2425端口收到此广播包后,就会在自己的用户列表中添加这个用户的用户名、工作组等信息,同时向对方IP发送本机用户的个人信息;从而双方都能建立起用户列表。 聊天过程:飞秋在刷新用户列表时发送的广播包和启动时差不多,只不过返回的标识信息略有不同;可以做一个小工具,监控2425端口内存流,就能截获刷新和聊天时的消息。飞秋在传送聊天信息时同样使用UDP协议;由于UDP协议是无连接协议,传输速度快,但是没有确认机制,是不可靠的协议,需要自己定义返回信息的标志来判断对方是否收到信息。 离线通知:用户离线时发送一个离线广播包到255.255.255.255,收到此广播包的用户,根据包中的IP地址(也可能是多种判断标志或者包含硬件标识,比如网卡地址等)删除对方的用户列表信息;

好用局域网管理软件有哪些

1、聚生网管局域网上网管理软件 聚生网管是国内最早的专业上网行为管理软件之一,专业管理公司局域网员工上网行为,有效控制员工上班时间的网购、聊天、炒股、玩游戏、看网络电视,并且还可以控制局域网网络流量、限制局域网网速,实现局域网网络资源的均衡、合理和高效分配。 2、小孩电脑上网管理软件 针对儿童上网,家长也可通过局域网管理软件实时监控。查找指定扫描范围的主机上开放服务的所有端口;检测同一网段上所有电脑数据流。对于IP数据,解析出具体的数据流信息内容。如在系统配置中选择;保存监测内容,则在mytool.exe同目录下产生log.txt,保存监测的数据流内容。;检测指定IP地址的电脑的数据流。对于IP数据,解析出具体的数据流信息内容。如在系统配置中选择;保存监测内容,则在mytool.exe同目录下产生log.txt,保存监测的数据流内容;Ping指定扫描范围所有主机,检测主机是否已开机;显示本机的IP、以及本机在注册表中的主机名;检测同一网段上数据流中包含的影音文件地址。包括swf,rm,ram,asf,mov,mpg,mpeg,mp4,flv,wmv,avi十一种主流视频格式。如在系统配置中选择保存影音内容,则在mytool.exe同目录下产生yinglog.txt,保存检测到的影音文件地址链接;检测同一网段上数据流中包含的QQ号码,以及QQ行为。 3、限制员工上网软件 局域网管理限制员工上网软件(FocalFilter)是一款可以限制小孩和员工上网的软件,限制员工上网软件这款工具可以设置制定的网站都网页无法访问,是采用修改host的原理,任何浏览器都无法突破~有需要的朋友可以下载使用。 4、小草网管局域网管理软件 小草网管局域网管理软件可综合智能动态带宽保障,服务器流量分析与保障、虚拟多设备管理及多项突破性技术,涵盖流量分析、带宽管理、上网行为管理、dmz区服务器管理,专线集中管理、企业级防火墙与路由器、负载均衡等功能,在网络性能、质量、安全等方面为客户提供完整的解决方案。本产品已获得各行业客户的广泛认可,成为企业网关综合管理软件产品第一品牌。 5、向日葵绿色远程监控软件 向日葵远程控制是一款远程控制的绿色软件。向日葵绿色远程监控软件是一款面向企业和专业人员的远程PC管理和控制的服务软件。在任何连入互联网地点,可轻松访问控制向日葵远程被控制客户端的远程主机,整个过程只需通过浏览器进行,无需再安装软件。 好用局域网管理软件有哪些?上网控制软件推荐就为大家介绍到这里 注:更多精彩教程请关注三联电脑教程栏目,三联电脑办公群:189034526欢迎你的加入

基于java的局域网聊天系统-课程设计报告

摘要 随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。局域网的发展也同样迅速。很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET.因此基于局域网的即时通信工具,就这样应运而生了。本文利用JA V A的UDP编程以及SWING图形界面编程技术,在WINDOWS平台上实现了具有美观图形界面的局域网聊天软件. 在本实现内将客户端和服务端综合在一个程序之内,用多线程实现不同的并行任务。并模仿国内的QQ进行了人性化的界面设计,使用起来更加简单方便,并且功能十分合理、实用。 通过本局域网聊天软件可以实现一对一、一对多的聊天,可以实现不同用户不同的文字字体、风格、大小、颜色的发送和显示,提供发送表情、文件、好友间的抖动提示以及聊天记录的管理等功能。 关键词:局域网聊天;JA V A网络编程;UDP;多线程

LAN Chat System Development based on JAVA Abstract With the development of computer network technology, various kinds of applications based on network were born, such as the release of information, communication, data sharing based on the Internet and so on. The development of the LAN is also quick. Many government agencies, enterprises, schools, is the first in a unified network linked together, each with access to INTERNET. Thus Instant Communication Tools based on LAN were born. In this paper, by using JA V A UDP programming and SWING graphical interface programming technology, we can get a LAN chat software with beautiful appearance on the WINDOWS platform. In the implementation, the client and the server were integrated within a program, implemented with multithreading. And imitating the domestic QQ interface humanization design, using more simple and convenient, and the function is very reasonable, practical. Through our LAN chat software can achieve one to one, one to many chat, send different users’ different text font, style, size, color and display, provide the send of expression, file, the shake among friends and chat records management and other functions. Keyword: LAN Chat;JA V A network programming;UDP; multi-thread

局域网聊天软件开题报告

局域网聊天软件开题报告 篇一:局域网即时通讯软件开发毕业设计(论文)开题报告表学生开题报告表 课题类型:A、工程设计,B、工程技术研究,C、软件开发,D、机械设计,E、实验研究, F、理论研究,G、其它 篇二:局域网开题报告 开题报告课题名称:校园局域网的规划与设计院(系):专业: 学号: 学生姓名: 指导教师: 职称:题目类型:应用研究课题设计 XX 年2 月20 日 一、选题依据 二、研究(设计)实施方案 三、前期工作篇二:计算机局域网组建开题报告课程设计开题报告课题计算机机房局域网的组建院系物电学院班级通信081班姓名 指导教师 12345 篇三:中小型企业网络设计开题报告湖南工业

大学专科毕业设计(论文)开题报告(XX届)XX年 3 月20 日- 0 - - 1 - - 2 - - 3 - - 4 - 篇四:局域网的组建与应用开题报告模版局域网的组建与应用 09秋计算机专业科学与技术专业定西师专学习中心姓名:陈小花 1 研究的背景及意义现今的计算机网络技术飞速发展,使用网络进行信息传输已成为社会运行的一种基本方式。随着办公信息化、自动化的需求,各单位为提高办公效率,促进信息交流,适应现代化 办公的要求,需要组建企业办公局域网。组建企业局域网所涉及的方方面面很多,首先需要 一个正确的设计规划,然后需要处理布线、网络设备选型与配置、服务器设备选型与配置、 网络软件的安装等方面,这都需要按部就班的逐一实现,最后还需要进行正常的日常维护, 本文就如何规划和设计企业局域网进行浅述。 2 研究方法 本文首先从总体上对企业网的建设、目标、思路、国内外现状、技术和产品进行了分析 研究,然后对具体业内部局域网的需求进行分析,确定企业网络拓扑结构、综合布线设计原

相关主题
文本预览
相关文档 最新文档