上一篇为大家介绍了利用java程序发送post请求来传递文件流,但是却有大小限制,那么我们这次就来写一个socket,通过网络套接字来传递来往于客户端和服务器的文件。
我想大家对于java 的socket编程不会太陌生,那我就直接切入主题,分别编写服务器和客户端代码:
Server:
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class Server { /** * @param args */ public static void main(String[] args) { //ServerSocket server; Long beginTime = null; try { ServerSocket server = new ServerSocket(1234); while (true) { final Socket sk = server.accept(); //通过套接字来发送文本 InputStream inStream = sk.getInputStream(); OutputStream outStream = sk.getOutputStream(); Scanner in = new Scanner(inStream); PrintWriter out = new PrintWriter(outStream, true); out.println("the program is beginning:"); boolean done = false; while (!done && in.hasNextLine()) { String line = in.nextLine(); out.println("Echo" + line); if (line.trim().equals("bye")) { done = true; } } sk.close(); /*new Thread(new Runnable() { @Override public void run() { try { BufferedReader br = new BufferedReader(new InputStreamReader(sk.getInputStream())); //System.out.println(br.readLine()); br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start();*/ } } catch (IOException e) { System.out.println("fail"); e.printStackTrace(); } } }
Client:
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostException; public class Client { /** * @param args */ public static void main(String[] args) { // 创建套接字 Socket sk; PrintStream ps; //Temp temp = Temp.getInstance(); //temp.setSEND_TIME(System.currentTimeMillis()); //Long beginTime = temp.getSEND_TIME(); //System.out.println(beginTime); try { sk = new Socket("localhost", 1234); ps = new PrintStream(sk.getOutputStream()); //读取文件 File file = new File("E:/toodou_work/testSmall.csv"); BufferedReader br = new BufferedReader(new FileReader(file)); StringBuilder sb = new StringBuilder(); String str = null; while ((str = br.readLine()) != null) { sb.append(str); } String content = sb.toString(); ps.print(content); sk.close(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { System.out.println("link to server is fail"); e.printStackTrace(); } } }
您还没有登录,请您登录后再发表评论
在IT领域,Socket通信是一种基于TCP/IP协议族的...客户端通过建立Socket连接,读取文件内容并写入Socket的输出流,而服务器端则接收这些数据并保存到本地。这个过程涉及到了网络编程、文件I/O和流操作等多个知识点。
本项目"SOCKET TCP 文件传输 客户端 服务器端 client svever"就是基于TCP协议构建一个简单的文件传输系统,通过客户端与服务器端的交互来完成文件的发送和接收。 首先,我们要了解TCP的基本原理。TCP通过三次握手...
在这个示例中,我们将探讨如何使用Java的Socket实现文件传输,包括服务器端和客户端的实现细节。 首先,我们从服务器端开始。服务器端的核心是监听特定端口(在这个例子中是8821)上的连接请求,并在接收到连接后...
客户端通过Socket的输出流将文件内容写入网络,服务器端则通过输入流接收这些数据。 5. **多线程处理**: - 为了处理多个并发的客户端连接,服务器端可能需要使用多线程。每个新连接的客户端都会启动一个新的线程...
本文将深入讲解如何使用C语言来编写客户端和服务器端的socket程序,以便实现两者间的通信。 首先,我们要理解socket的基本概念。Socket,又称为套接字,是网络通信的一种接口,它允许两个进程(可以是同一台机器上...
服务器端负责接收客户端A的连接请求,接收文件数据,然后再将这些数据转发到客户端B。服务器需要监听特定的端口,当收到客户端A的连接请求时,建立连接,读取文件数据,然后根据客户端A提供的B的IP地址,建立到B的新...
本示例将深入讲解如何创建一个简单的Socket服务器端和客户端,以帮助理解Java中的网络编程。 首先,我们要了解Socket的基本概念。Socket在计算机网络中扮演着桥梁的角色,它连接了服务器端应用程序和客户端应用程序...
本文将深入探讨安卓客户端和Java服务器端通过Socket进行通信的关键知识点。 首先,我们需要理解Socket的概念。Socket是网络编程的基本组件,它提供了一种在两台计算机间建立连接并交换数据的机制。在安卓客户端与...
此外,为了实现多客户端并发连接,服务器端通常会使用线程或异步I/O模型来处理多个客户端的请求。 以上就是简单的Socket服务器/客户端编程的基础知识。通过实践这些基本操作,你可以创建一个简单的聊天程序或者文件...
在Java等编程语言中,我们可以使用Socket类来创建服务器端(ServerSocket)和客户端(Socket)。服务器端通常会创建一个ServerSocket,并绑定到特定的IP地址和端口号,然后调用其accept()方法开始监听连接请求。每当...
在计算机网络领域,Socket编程是一种基础且至关重要的技术,它为客户端和服务器端的应用程序提供了进行数据通信的接口。Socket在网络层面上实现了进程间的通信,是互联网应用的基础,广泛应用于各种服务,如HTTP、...
在这个“MFC_Socket_VS2010编程(客户端+服务器端).rar”压缩包中,包含了两个关键文件:“SocketTest_Client”和“SocketTest_Server”,分别代表了Socket通信的客户端和服务器端应用。 首先,让我们深入了解一下...
Java的FileInputStream和BufferedInputStream可以帮助我们读取文件,而Socket的getOutputStream()方法返回一个OutputStream,用于将数据发送到客户端。例如: ```java File file = new File("file_to_send.txt"); ...
在提供的压缩包文件中,"Client"和"Server"可能包含了示例代码,这些代码可能展示了如何在C#中实现简单的Socket客户端和服务器端。通过学习和理解这些代码,你可以更好地掌握Socket编程的基本原理和实践技巧。记得在...
服务器端读取文件并将其内容通过socket发送到客户端,客户端则接收数据并写入本地文件。需要注意的是,由于TCP是流式传输,所以可能需要处理数据的边界问题,比如使用固定大小的缓冲区或者特殊的分隔符来确保数据的...
用socket套接字实现了文件传输,尤其适用于初学者学习socket进行创建,绑定,监听,接收等过程,服务器端和客户端进行通信的整个流程,MFC界面简单。发送端有,create ,listen,accept,send等函数;接收端有create...
这个项目的源代码将展示如何使用C#和WinForm来设计和实现一个基于Socket的聊天应用,包括服务器端如何管理多个客户端连接,客户端如何发送和接收消息等。 文件名列表中的"SocketDemo.sln"是Visual Studio的解决方案...
- **文件发送功能**:描述中提到客户端可以向服务器发送文件,这通常涉及将文件流化,然后通过Socket的Send方法分块发送。 4. **多线程**: 为了处理多个并发的客户端连接,服务器端通常需要使用多线程。每当有新...
客户端会发送文件名给服务器,服务器收到后会打开该文件并读取内容,然后通过Socket将文件数据发送回客户端。客户端接收数据后,将其保存到本地。需要注意的是,为了适应不同的文件,客户端和服务器的代码中可能需要...
本主题聚焦于使用Java进行基于TCP的Socket编程,通过`File_client.java`和`File_server.java`两个文件来实现服务器和客户端之间的数据交换。 首先,TCP Socket编程的基础是Java的`java.net.Socket`和`java.net....
相关推荐
在IT领域,Socket通信是一种基于TCP/IP协议族的...客户端通过建立Socket连接,读取文件内容并写入Socket的输出流,而服务器端则接收这些数据并保存到本地。这个过程涉及到了网络编程、文件I/O和流操作等多个知识点。
本项目"SOCKET TCP 文件传输 客户端 服务器端 client svever"就是基于TCP协议构建一个简单的文件传输系统,通过客户端与服务器端的交互来完成文件的发送和接收。 首先,我们要了解TCP的基本原理。TCP通过三次握手...
在这个示例中,我们将探讨如何使用Java的Socket实现文件传输,包括服务器端和客户端的实现细节。 首先,我们从服务器端开始。服务器端的核心是监听特定端口(在这个例子中是8821)上的连接请求,并在接收到连接后...
客户端通过Socket的输出流将文件内容写入网络,服务器端则通过输入流接收这些数据。 5. **多线程处理**: - 为了处理多个并发的客户端连接,服务器端可能需要使用多线程。每个新连接的客户端都会启动一个新的线程...
本文将深入讲解如何使用C语言来编写客户端和服务器端的socket程序,以便实现两者间的通信。 首先,我们要理解socket的基本概念。Socket,又称为套接字,是网络通信的一种接口,它允许两个进程(可以是同一台机器上...
服务器端负责接收客户端A的连接请求,接收文件数据,然后再将这些数据转发到客户端B。服务器需要监听特定的端口,当收到客户端A的连接请求时,建立连接,读取文件数据,然后根据客户端A提供的B的IP地址,建立到B的新...
本示例将深入讲解如何创建一个简单的Socket服务器端和客户端,以帮助理解Java中的网络编程。 首先,我们要了解Socket的基本概念。Socket在计算机网络中扮演着桥梁的角色,它连接了服务器端应用程序和客户端应用程序...
本文将深入探讨安卓客户端和Java服务器端通过Socket进行通信的关键知识点。 首先,我们需要理解Socket的概念。Socket是网络编程的基本组件,它提供了一种在两台计算机间建立连接并交换数据的机制。在安卓客户端与...
此外,为了实现多客户端并发连接,服务器端通常会使用线程或异步I/O模型来处理多个客户端的请求。 以上就是简单的Socket服务器/客户端编程的基础知识。通过实践这些基本操作,你可以创建一个简单的聊天程序或者文件...
在Java等编程语言中,我们可以使用Socket类来创建服务器端(ServerSocket)和客户端(Socket)。服务器端通常会创建一个ServerSocket,并绑定到特定的IP地址和端口号,然后调用其accept()方法开始监听连接请求。每当...
在计算机网络领域,Socket编程是一种基础且至关重要的技术,它为客户端和服务器端的应用程序提供了进行数据通信的接口。Socket在网络层面上实现了进程间的通信,是互联网应用的基础,广泛应用于各种服务,如HTTP、...
在这个“MFC_Socket_VS2010编程(客户端+服务器端).rar”压缩包中,包含了两个关键文件:“SocketTest_Client”和“SocketTest_Server”,分别代表了Socket通信的客户端和服务器端应用。 首先,让我们深入了解一下...
Java的FileInputStream和BufferedInputStream可以帮助我们读取文件,而Socket的getOutputStream()方法返回一个OutputStream,用于将数据发送到客户端。例如: ```java File file = new File("file_to_send.txt"); ...
在提供的压缩包文件中,"Client"和"Server"可能包含了示例代码,这些代码可能展示了如何在C#中实现简单的Socket客户端和服务器端。通过学习和理解这些代码,你可以更好地掌握Socket编程的基本原理和实践技巧。记得在...
服务器端读取文件并将其内容通过socket发送到客户端,客户端则接收数据并写入本地文件。需要注意的是,由于TCP是流式传输,所以可能需要处理数据的边界问题,比如使用固定大小的缓冲区或者特殊的分隔符来确保数据的...
用socket套接字实现了文件传输,尤其适用于初学者学习socket进行创建,绑定,监听,接收等过程,服务器端和客户端进行通信的整个流程,MFC界面简单。发送端有,create ,listen,accept,send等函数;接收端有create...
这个项目的源代码将展示如何使用C#和WinForm来设计和实现一个基于Socket的聊天应用,包括服务器端如何管理多个客户端连接,客户端如何发送和接收消息等。 文件名列表中的"SocketDemo.sln"是Visual Studio的解决方案...
- **文件发送功能**:描述中提到客户端可以向服务器发送文件,这通常涉及将文件流化,然后通过Socket的Send方法分块发送。 4. **多线程**: 为了处理多个并发的客户端连接,服务器端通常需要使用多线程。每当有新...
客户端会发送文件名给服务器,服务器收到后会打开该文件并读取内容,然后通过Socket将文件数据发送回客户端。客户端接收数据后,将其保存到本地。需要注意的是,为了适应不同的文件,客户端和服务器的代码中可能需要...
本主题聚焦于使用Java进行基于TCP的Socket编程,通过`File_client.java`和`File_server.java`两个文件来实现服务器和客户端之间的数据交换。 首先,TCP Socket编程的基础是Java的`java.net.Socket`和`java.net....