package org.hao;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class SocketClient {
public static void main(String args[]) {
test1();
}
public static void test1(){
try{
String str="cmd=update&key=124&data1=101&data2=123&data3=1233&data4=111&table=testhao";//修改好使
ByteArrayInputStream innstream = new ByteArrayInputStream(str.getBytes());
//Socket socket=new Socket("127.0.0.1",4700);
//192.168.229.129
//Socket socket=new Socket("192.168.229.129", 19111);
Socket socket=new Socket("192.168.229.129", 19111);
//BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
BufferedReader sin=new BufferedReader(new InputStreamReader(innstream));
PrintWriter os=new PrintWriter(socket.getOutputStream());
//由Socket对象得到输出流,并构造PrintWriter对象
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//由Socket对象得到输入流,并构造相应的BufferedReader对象
String readline;
os.println(sin.readLine());//将从系统标准输入读入的字符串输出到Server
os.flush();//刷新输出流,使Server马上收到该字符串
readline=is.readLine(); //从系统标准输入读入一字符串
//while(!readline.equals("bye")){//若从标准输入读入的字符串为 "bye"则停止循环
while(readline!=null){
//System.out.println("Client:"+readline);//在系统标准输出上打印读入的字符串
System.out.println("from Server:"+readline);//从Server读入一字符串,并打印到标准输出上
System.out.println("from Server:"+is.readLine());
readline=is.readLine(); //从系统标准输入读入一字符串
} //继续循环
os.close(); //关闭Socket输出流
is.close(); //关闭Socket输入流
socket.close(); //关闭Socket
}catch(Exception e) {
e.printStackTrace();
//System.out.println("Error"+e); //出错,则打印出错信息
}
}
public static void test(){
try{
//String str="cmd=clearall&table=testhao";//清空好使,会换log文件
//String str="cmd=createtable&field=key_data1_data2_data3_data4&tablename=testhao";//建空好使
//String str="cmd=insert&key=124&data1=12&data2=123&data3=1233&data4=123&table=testhao";//好使
String str="cmd=update&key=124&data1=101&data2=123&data3=1233&data4=111&table=testhao";//修改好使
ByteArrayInputStream innstream = new ByteArrayInputStream(str.getBytes());
//Socket socket=new Socket("127.0.0.1",4700);
//192.168.229.129
//Socket socket=new Socket("192.168.229.129", 19111);
Socket socket=new Socket("10.10.83.225", 19111);
//BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
BufferedReader sin=new BufferedReader(new InputStreamReader(innstream));
PrintWriter os=new PrintWriter(socket.getOutputStream());
//由Socket对象得到输出流,并构造PrintWriter对象
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//由Socket对象得到输入流,并构造相应的BufferedReader对象
String readline;
readline=sin.readLine(); //从系统标准输入读入一字符串
//while(!readline.equals("bye")){//若从标准输入读入的字符串为 "bye"则停止循环
while(readline!=null){
os.println(readline);//将从系统标准输入读入的字符串输出到Server
os.flush();//刷新输出流,使Server马上收到该字符串
System.out.println("Client:"+readline);//在系统标准输出上打印读入的字符串
System.out.println("Server:"+is.readLine());//从Server读入一字符串,并打印到标准输出上
System.out.println("Server:"+is.readLine());
readline=sin.readLine(); //从系统标准输入读入一字符串
} //继续循环
os.close(); //关闭Socket输出流
is.close(); //关闭Socket输入流
socket.close(); //关闭Socket
}catch(Exception e) {
e.printStackTrace();
//System.out.println("Error"+e); //出错,则打印出错信息
}
}
}
package org.hao;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketServer {
public static void main(String[] args) {
try {
ServerSocket server = null;
try {
server = new ServerSocket(4700);
// 创建一个ServerSocket在端口4700监听客户请求
} catch (Exception e) {
System.out.println("can not listen to:" + e);
// 出错,打印出错信息
}
Socket socket = null;
try {
socket = server.accept();
// 使用accept()阻塞等待客户请求,有客户
// 请求到来则产生一个Socket对象,并继续执行
} catch (Exception e) {
System.out.println("Error." + e);
// 出错,打印出错信息
}
String line;
BufferedReader is = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
// 由Socket对象得到输入流,并构造相应的BufferedReader对象
PrintWriter os = new PrintWriter(socket.getOutputStream());
// 由Socket对象得到输出流,并构造PrintWriter对象
BufferedReader sin = new BufferedReader(new InputStreamReader(
System.in));
// 由系统标准输入设备构造BufferedReader对象
System.out.println("Client:" + is.readLine());
// 在标准输出上打印从客户端读入的字符串
line = sin.readLine();
// 从标准输入读入一字符串
while (!line.equals("bye")) {
// 如果该字符串为 "bye",则停止循环
os.println(line);
// 向客户端输出该字符串
os.flush();
// 刷新输出流,使Client马上收到该字符串
System.out.println("Server:" + line);
// 在系统标准输出上打印读入的字符串
System.out.println("Client:" + is.readLine());
// 从Client读入一字符串,并打印到标准输出上
line = sin.readLine();
// 从系统标准输入读入一字符串
} // 继续循环
os.close(); // 关闭Socket输出流
is.close(); // 关闭Socket输入流
socket.close(); // 关闭Socket
server.close(); // 关闭ServerSocket
} catch (Exception e) {
System.out.println("Error:" + e);
// 出错,打印出错信息
}
}
}
分享到:
相关推荐
本项目"基于socket编程实现文件备份"就是利用Java的Socket API来实现实时或定期的文件备份功能,尤其是在异地备份的情况下,确保数据的安全性和完整性。 首先,我们来看"Java Socket"。Java Socket是Java提供的网络...
socket考试系统,超漂亮软件界面设计 功能:实现多人同时在线考试,学生端向服务器提取试卷,服务器对学生的成绩,学生的试卷实现备份,有选择题,操作题,选择题会向服务器保存学生的试卷备份,同时以.rar格式保存学生的操作...
功能:实现多人同时在线考试,学生端向服务器提取试卷,服务器对学生的成绩,学生的试卷实现备份,有选择题,操作题,选择题会向服务器保存学生的试卷备份,同时以.rar格式保存学生的操作题 软件界面请登陆...
1. **Java Socket**: Java Socket是Java提供的网络通信接口,它允许两个网络应用程序通过TCP/IP协议进行通信。在本项目中,Socket用于建立客户端与服务器端的连接,实现数据的双向传输。客户端通过创建Socket对象...
总的来说,这个基于Socket的公司员工管理系统充分展示了Java技术在企业管理软件中的应用,通过Swing提供友好的用户交互,用Socket实现客户端与服务器的高效通信,采用多线程处理并发请求,结合数据库备份确保数据...
在JAVA中,Socket是最基本的网络编程接口,用于建立客户端和服务器端之间的连接。RemoteFileClient类使用Socket连接到RemoteFileServer,以便读取远程文件。Socket编程可以分为两个部分:客户端编程和服务器端编程。...
Socket编程在IT领域中是网络通信的基础,尤其是在Java编程中,它是实现客户端-服务器通信的核心工具。...通过理解Socket的工作机制和实践文件传输的步骤,你能够创建自己的文件共享服务或实现远程文件备份等功能。
- 提供的Java服务器源码可能是用于监听和处理客户端连接的服务器程序,而手机App源码则包含了客户端的Socket连接和数据交互逻辑。这些代码会涉及到线程管理、异常处理以及数据序列化/反序列化等技术。 通过以上...
Java中的基于Socket的...通过学习和实践基于Socket的文件传输服务,开发者可以深入理解网络编程的核心原理,并能构建自己的文件共享或备份系统。同时,这也为其他高级网络应用,如聊天服务器、分布式系统等打下基础。
【Java 操作数据库备份】 在Java编程中,对数据库进行备份是常见的操作,尤其是在系统维护和数据保护方面。本文将详细讲解如何使用Java实现数据库的备份功能,主要涉及线程处理、配置文件读取和数据库操作等技术。 ...
在Java中,这可以通过创建Socket对象,指定服务器的IP地址和端口号来实现。一旦连接建立,客户端就能通过Socket的输入输出流进行数据的读写。 服务器端(server.rar)则需要监听特定端口,等待客户端的连接请求。当...
Java中的Socket类代表网络上的一个端点,ServerSocket类则用于监听特定端口的连接请求。在聊天程序中,服务器端创建ServerSocket监听客户端的连接,当有新的客户端连接时,ServerSocket会创建一个新的Socket对象...
Java多线程与网络编程是两个重要的编程领域,它们在构建高效、响应迅速的应用程序时起...这种设计模式在许多实时系统和服务中都有应用,如监控系统、自动备份服务等,充分展示了Java在构建复杂网络应用方面的强大能力。
7. **系统设置**:包括权限管理、数据库备份恢复、系统参数配置等功能,确保系统的安全和正常运行。 这个系统的设计和实施体现了Java跨平台的优势,无论是在Windows、Mac还是Linux操作系统上,都能稳定运行。通过...
基于Java的Socket文件传输,不仅体现了网络通信的基本原理,也是实现远程文件共享、备份等服务的关键技术之一。通过上述分析与示例,相信读者对于如何利用Java进行高效、可靠的文件传输有了更深入的理解。在未来的...
Android Socket基于Java的Socket API,它提供了基于TCP/IP协议的网络通信能力。Socket分为ServerSocket和Socket两种类型,ServerSocket用于监听客户端连接,Socket则用于建立与服务器的连接并进行数据交换。 2. ...
在Java中,TCP通信主要通过`java.net.Socket`和`java.net.ServerSocket`类来实现。 2. **ServerSocket类**:服务器端使用`ServerSocket`创建一个监听特定端口的套接字。这个端口是服务器等待客户端连接的地方。一旦...
这包括对用户输入数据的验证、使用HTTPS协议加密传输、设置合理的权限控制以及定期备份数据库等措施。 7. 系统测试与优化 开发完成后,系统需进行功能测试、性能测试和压力测试,确保所有模块正常运行且满足性能...
1. **Java网络编程**:Java中的Socket编程是实现网络通信的基础,通过ServerSocket类创建服务器端监听端口,Socket类建立客户端连接,实现数据的收发。 2. **HTTP协议**:通常,网络硬盘会采用HTTP或HTTPS协议与...
在服务器控制中,可能需要列出目录内容、移动或复制文件以实现数据备份或迁移。 除了上述知识点,还可能涉及到并发处理(如使用ConcurrentHashMap进行线程安全的集合操作)、序列化(将对象转换为字节流,以便在...