//服务器
package serverSocketandClient;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServletSocketDemo {
public static void main(String[] args) {
try {
ServerSocket ss=new ServerSocket(3366);
Socket socket=ss.accept();
ServerInput si=new ServerInput(socket.getInputStream());
si.start();
ServerOutput so=new ServerOutput(socket.getOutputStream());
so.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//实现服务器端的读取数据流功能类
package serverSocketandClient;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ServerInput extends Thread {
InputStream is;
public ServerInput(InputStream is){
this.is=is;
}
public void run(){
try{
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String str;
while(true){
str=br.readLine();
System.out.println("客户端说:"+str);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
//实现服务器端输出数据流功能的类
package serverSocketandClient;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;
public class ServerOutput extends Thread {
OutputStream os;
public ServerOutput(OutputStream os){
this.os=os;
}
public void run(){
OutputStreamWriter osw=new OutputStreamWriter(os);
PrintWriter pw=new PrintWriter(osw);
Scanner in=new Scanner(System.in);
String str=null;
while(true){
str=in.nextLine();
pw.println(str);
pw.flush();
}
}
}
//客户端
package serverSocketandClient;
import java.net.Socket;
import java.util.Scanner;
public class ClientDemo {
/**
* 客户端
*/
public static void main(String[] args) {
try{
System.out.println("请输入服务器的Ip地址");
Scanner ip=new Scanner(System.in);
String ipstr=ip.nextLine();
Socket socket=new Socket(ipstr,3366);
ClientInput ci=new ClientInput(socket.getInputStream());
ci.start();
ClientOutput co=new ClientOutput(socket.getOutputStream());
co.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
//客户端读取数据流的类
package serverSocketandClient;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ClientInput extends Thread {
InputStream is;
public ClientInput(InputStream is){
this.is=is;
}
public void run(){
try{
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String str;
while(true){
str=br.readLine();
System.out.println("服务器说:"+str);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
//客户端将数据流输出的类
package serverSocketandClient;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;
public class ClientOutput extends Thread {
OutputStream os;
public ClientOutput(OutputStream os){
this.os=os;
}
public void run(){
OutputStreamWriter osw=new OutputStreamWriter(os);
PrintWriter pw=new PrintWriter(osw);
Scanner in=new Scanner(System.in);
String str=null;
while(true){
str=in.nextLine();
pw.println(str);
pw.flush();
}
}
}
分享到:
相关推荐
本主题将深入探讨如何使用C# Socket进行局域网通讯,并实现自动检测同一局域网下的所有用户。 首先,我们需要理解Socket的基本概念。Socket是网络通信的一种接口,它允许两个程序通过网络交换数据。在C#中,`System...
在本文中,我们将深入探讨如何使用C++和socket编程来实现一个局域网聊天软件。首先,我们需要理解C++和socket编程的基础,然后逐步解析标题和描述中的关键知识点。 C++是一种强大的、高效的编程语言,它支持面向...
基于Qt实现局域网Socket通信系统源码。分别有服务端(Server)和客户端(Client) 服务端默认监听本机IP的6666端口 本人实测在linux(需防火墙开启端口)和windows下完美运行。基于Qt实现局域网Socket通信系统源码。...
在Android平台上,实现基于局域网的Socket通信是一项常见的任务,尤其在开发涉及设备间通信的应用时。Socket通信允许两台设备通过网络连接直接交换数据,而无需中间服务器。在这个项目中,我们关注的是Android设备...
本文将以"C#0007用socket实现局域网办公助理87002定义.pdf"为蓝本,深入探讨其背后的技术实现,主要包括C#编程语言、Visual Studio.NET开发环境、UDP协议以及多线程技术在局域网通讯中的应用。 C#是由微软公司推出...
本文主要介绍了基于 Socket 的局域网聊天工具的设计与实现,解决了局域网内的即时通讯和文件传送问题。下面是本文的详细知识点: 一、计算机网络技术的发展及局域网聊天工具的需求 * 计算机网络技术的飞速发展使得...
《基于SOCKET实现的局域网通讯录管理系统详解》 在信息技术日新月异的今天,局域网通讯录管理系统的开发与应用已经成为企业、学校等组织内部沟通的重要工具。本系统采用Socket通信技术,实现了局域网内的高效、稳定...
通过以上内容的详细介绍,我们可以看到基于Socket的局域网聊天室系统的设计与实现涵盖了从理论分析到具体实现的各个方面,不仅解决了当前局域网面临的实际问题,也为今后类似系统的开发提供了宝贵的参考经验。
标题中的"C#用socket实现局域网办公助理设计"是一个基于C#编程语言,利用Socket通信技术构建的局域网内办公辅助系统。Socket在计算机网络编程中扮演着重要角色,它提供了进程间的网络通信能力,使得不同计算机上的...
在该系统中,SOCKET技术被用于实现局域网中的文件传输和即时通讯。该系统采用C/S架构,类似飞鸽传书系统,能够实现在内部网络中进行信息的交流。 该系统的设计分为五大模块: 1. 介绍选题背景及意义和国内外研究...
综上所述,"C#用socket实现局域网办公助理设计"是一个涵盖网络编程、文件传输、实时通讯等多方面技术的项目,对于提升C#开发者在网络应用开发领域的技能具有很高的实践价值。通过深入研究和实践这个项目,不仅可以...
现代社会科技在不断的更新,科学技术的发展日新月异,为了满足人们使用现代化通讯手段的要求我们开发了一款“局域网通讯软件”,此款软件是专用于局域网内交流信息的软件。它主要实现了五种功能:网络设置,发送短信...
通过分析这些源代码,我们可以深入学习到Java编程在实现局域网通讯软件时的具体方法,包括但不限于网络连接的建立、数据的编码与解码、异常处理、用户交互设计等。 总的来说,这个实验项目涵盖了Java网络编程的关键...
每个客户端都能接收到并显示这些消息,实现局域网内的多用户交互。 4. **断开连接**:当用户完成聊天后,可以选择断开连接,服务器会关闭对应的Socket,释放资源。 5. **错误处理**:在整个过程中,还需要考虑网络...
本项目“C#用socket实现局域网办公助理设计”提供了一种解决方案,它使用C#编程语言结合Socket通信技术,构建了一个能够辅助办公的系统。下面我们将详细探讨这个项目的相关知识点。 1. **C#编程语言**: C#是微软...
在本案例中,我们将聚焦于使用C#编程语言和WinForms来实现基于Socket的即时通讯系统。Socket是网络编程中的基本组件,它提供了进程间通信(IPC)的能力,尤其是跨网络的进程间通信。 首先,我们需要了解Socket的...
现代社会科技在不断的更新,科学技术的发展日新月异,为了满足人们使用现代化通讯手段的要求我们开发了一款“局域网通讯软件”,此款软件是专用于局域网内交流信息的软件。它主要实现了五种功能:网络设置,发送短信...
本项目提供的"qq 源代码"是一个使用Java编程语言,并基于Socket实现的局域网通讯软件示例。Java Socket是Java API中用于网络通信的核心部分,它提供了低级别的、面向连接的、基于TCP/IP的通信服务。 首先,让我们...