`

Java Socket接收和发送(字符串)

阅读更多
  1. 备注:必须先运行服务器端,然后运行客户端  
  2. 1.客户端  
  3. LoginClient.java  
  4. package pb.socket.LoginStr;  
  5.   
  6. import java.io.BufferedReader;  
  7. import java.io.IOException;  
  8. import java.io.InputStream;  
  9. import java.io.InputStreamReader;  
  10. import java.io.OutputStream;  
  11. import java.io.PrintWriter;  
  12. import java.net.Socket;  
  13. import java.net.UnknownHostException;  
  14.   
  15. public class LoginClient {  
  16.     public static void main(String[] args) {  
  17.         try {  
  18.             //1.建立客户端socket连接,指定服务器位置及端口  
  19.             Socket socket =new Socket("localhost",8800);  
  20.             //2.得到socket读写流  
  21.             OutputStream os=socket.getOutputStream();  
  22.             PrintWriter pw=new PrintWriter(os);  
  23.             //输入流  
  24.             InputStream is=socket.getInputStream();  
  25.             BufferedReader br=new BufferedReader(new InputStreamReader(is));  
  26.             //3.利用流按照一定的操作,对socket进行读写操作  
  27.             String info="用户名:Tom,用户密码:123456";  
  28.             pw.write(info);  
  29.             pw.flush();  
  30.             socket.shutdownOutput();  
  31.             //接收服务器的相应  
  32.             String reply=null;  
  33.             while(!((reply=br.readLine())==null)){  
  34.                 System.out.println("接收服务器的信息:"+reply);  
  35.             }  
  36.             //4.关闭资源  
  37.             br.close();  
  38.             is.close();  
  39.             pw.close();  
  40.             os.close();  
  41.             socket.close();  
  42.         } catch (UnknownHostException e) {  
  43.             e.printStackTrace();  
  44.         } catch (IOException e) {  
  45.             e.printStackTrace();  
  46.         }  
  47.     }  
  48. }  
  49. 2.服务器端  
  50. LoginServer.java  
  51. package pb.socket.LoginStr;  
  52.   
  53. import java.io.BufferedReader;  
  54. import java.io.IOException;  
  55. import java.io.InputStream;  
  56. import java.io.InputStreamReader;  
  57. import java.io.OutputStream;  
  58. import java.io.PrintWriter;  
  59. import java.net.ServerSocket;  
  60. import java.net.Socket;  
  61.   
  62. public class LoginServer {  
  63.     public static void main(String[] args) {  
  64.         try {  
  65.             //1.建立一个服务器Socket(ServerSocket)绑定指定端口  
  66.             ServerSocket serverSocket=new ServerSocket(8800);  
  67.             //2.使用accept()方法阻止等待监听,获得新连接  
  68.             Socket socket=serverSocket.accept();  
  69.             //3.获得输入流  
  70.             InputStream is=socket.getInputStream();  
  71.             BufferedReader br=new BufferedReader(new InputStreamReader(is));  
  72.             //获得输出流  
  73.             OutputStream os=socket.getOutputStream();  
  74.             PrintWriter pw=new PrintWriter(os);  
  75.             //4.读取用户输入信息  
  76.             String info=null;  
  77.             while(!((info=br.readLine())==null)){  
  78.                 System.out.println("我是服务器,用户信息为:"+info);  
  79.             }  
  80.             //给客户一个响应  
  81.             String reply="welcome";  
  82.             pw.write(reply);  
  83.             pw.flush();  
  84.             //5.关闭资源  
  85.             pw.close();  
  86.             os.close();  
  87.             br.close();  
  88.             is.close();  
  89.             socket.close();  
  90.             serverSocket.close();  
  91.         } catch (IOException e) {  
  92.             e.printStackTrace();  
  93.         }      
  94.     }  
  95. }  

 

转自:http://blog.csdn.net/qq7342272/article/details/9698413

分享到:
评论

相关推荐

    Java Socket发送和接收的例子

    在这个例子中,我们将探讨如何使用Java Socket进行数据的发送和接收。Socket在Java中被封装在`java.net.Socket`和`java.net.ServerSocket`类中,分别用于客户端和服务器端的通信。 首先,我们从服务器端开始。在...

    【Android】socket client发送一个字符串

    总结来说,Android客户端通过Socket发送字符串涉及到网络连接、数据传输和异常处理等多个方面。开发者需要对Java的Socket API有一定了解,并注意Android平台特有的网络访问限制。同时,为了保证用户体验,还需要考虑...

    用JAVA和UDP实现字符串的发送和接收

    在本文中,我们将深入探讨如何使用Java编程语言和用户数据报协议(UDP)来实现字符串的发送和接收。首先,我们需要了解UDP的基本概念。UDP是一种无连接的、不可靠的传输层协议,它不保证数据包的顺序或完整性,但...

    socket传输字节和字符串

    本篇文章将详细探讨在`'com.tonystark.android:socket:+'`库的基础上,如何利用Socket来传输字节和字符串。我们将深入理解Socket的工作原理,并探讨如何通过这个特定的库来优化数据传输。 首先,让我们了解Socket的...

    java socket处理硬件传过来的16进制数据的工具类

    java socket处理硬件传过来的16进制数据的工具类,包含大小端转换、byte[]数组转换为16进制的字符串、byte[]转ByteBuffer、16进制字符串转换为byte数组等

    Java中Socket通信-服务端和客户端双向传输字符串实现示例代码.rar

    Java中Socket通信-服务端和客户端双向传输字符串实现示例代码。在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的...

    QT5 实现TCP通信 客户端与服务端,互相发送字符串;解决乱码问题

    QT5中的QTcpSocket类提供了方便的方法来发送和接收字符串。发送字符串时,需要将其转换为QByteArray,然后调用write函数。接收数据时,可以先读取QByteArray,再转换回字符串。 ```cpp // 发送字符串 QString str =...

    java Socket与C#通信中中文乱码问题的解决方案

    为了解决这个问题,我们需要确保两端在发送和接收数据时使用相同的字符编码。 首先,来看Java客户端的代码示例: ```java import java.net.*; import java.io.*; public class TCPCline { public static void ...

    Socket通信 能够发送文件,实体类,字符串等多种发送方式

    在Java中,Socket通信基于TCP/IP协议栈,提供了稳定的数据传输能力,能够支持多种数据类型如文件、实体类和字符串的发送。本节将深入探讨Socket通信的工作原理、如何发送不同类型的 data以及其在实际项目中的应用。 ...

    java 网上聊天(发送方发送数据,接收方能够接到,反之亦然)

    - 为了正确地解析和显示消息,可能需要定义一种消息格式,比如JSON或自定义的字符串格式,包含发送者、时间戳和消息内容等信息。 8. **状态管理**: - 聊天系统需要跟踪用户登录状态、在线状态等,这可以通过...

    Socket服务端客户端以tcp/ip协议发送接收报文

    每个报文的发送和接收都依赖于`InputStream`和`OutputStream`对象,它们分别用于读取和写入网络数据。在实际应用中,可能需要对报文进行更复杂的编码和解码,例如JSON或XML格式,以便传输更复杂的数据结构。 总结来...

    java socket长连接客户端服务端(标准实例)

    - 创建Socket连接,并启动发送和接收线程。 #### 四、服务端实现详解 ##### 1. 主要类:`Server03` - 定义了一个`ServerSocket`对象用于监听指定端口上的连接请求。 ##### 2. `start()` 方法 - 创建`...

    java socket 客户端和服务端例子

    一旦有客户端发起连接,服务端会创建一个Socket实例来处理这个连接,并且可以开始接收和发送数据。在Java中,`ServerSocket`类用于创建服务器端套接字,`accept()`方法用于接受客户端的连接。 客户端(client)程序...

    java与c++通过socket通信

    Java和C++之间的Socket通信是跨语言网络编程的一个常见应用场景,尤其在系统集成、设备通讯或者混合编程中。Socket提供了一种基于TCP/IP协议的进程间通信(IPC)方式,可以实现在不同操作系统上的进程之间的数据传输...

    java UDP报文的发送与接收

    接下来,我们将详细讨论如何在Java中发送和接收UDP报文。 一、发送UDP报文 发送UDP报文主要涉及以下几个步骤: 1. **创建DatagramSocket**:首先,我们需要创建一个`DatagramSocket`实例,这将代表我们的UDP...

    Java Socket聊天室

    每个新连接的客户端都会启动一个新的线程,这样服务器可以同时处理多个用户的消息发送和接收,保证了系统的高并发性能。Java中的Thread类和Runnable接口是实现多线程的核心,可以通过继承Thread或实现Runnable接口来...

    Java socket聊天程序 有界面

    发送和接收的数据需要通过合适的编码和解码方式来保证正确性。 6. **异常处理**: 网络通信过程中可能会遇到各种异常,如连接中断、数据传输错误等,因此程序需要有良好的异常处理机制,以保证服务的稳定性和用户...

    java socket 用户真实IP测试

    格式通常是"client IP, proxy 1 IP, proxy 2 IP",所以我们需要处理这个字符串,获取第一个IP作为真实客户端IP。 ```java if (clientIp.contains(",")) { clientIp = clientIp.split(",")[0].trim(); } ``` 3. **...

    Java Socket使用实例

    - 双方通过输入输出流交换数据,例如字符串。 - 使用Swing更新界面,显示接收到的数据。 - 关闭流和Socket,结束通信。 6. **注意事项**:在实际应用中,要处理异常情况,确保资源的正确关闭,防止内存泄漏。...

    C#和java 之间基于Socket的通信

    Socket是网络编程的基本接口,允许应用程序通过网络发送和接收数据。以下是关于"Java和C#之间基于Socket的通信"的详细知识点: 1. **Socket概念**: - Socket,也称为套接字,是网络编程中的一个抽象概念,用于...

Global site tag (gtag.js) - Google Analytics