`
nbtlxx
  • 浏览: 253950 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

java socket通信出现的乱码问题

阅读更多
今天解决了一个java socket通信过程中的乱码问题。

解决办法就是在client, server的输入和输出流中指定charset.
Client:	
         //输出函数
        public void broadCast(String msg) {

		Collection col = hash.values();
		Iterator it = col.iterator();
		while (it.hasNext()) {
			try {
				Socket c = (Socket) it.next();
				OutputStream os = c.getOutputStream();
				//指定输出流的charset为"utf-8"
                                PrintStream ps = new PrintStream(os,true,"utf-8");
				ps.println(msg);
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
	}
      
       //输入流函数
          while (true) {
		try {
		   is = client.getInputStream();
                   //指定输入流的charset为"utf-8"
		   br = new BufferedReader(new InputStreamReader(is,"utf-8"));
		   msg = null;



同理server端也进行如此设置,问题就解决了。
分享到:
评论
1 楼 阳光雨露 2009-07-08  
正解.....

相关推荐

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

    在Java和C#之间进行Socket通信时,遇到中文乱码问题主要是由于编码格式不一致导致的。Java默认使用UTF-8编码,而C#在处理字符串时可能使用其他编码,如GBK或ASCII。为了解决这个问题,我们需要确保两端在发送和接收...

    java c++ 通信之间的乱码解决方法

    Java和C++之间进行Socket通信时,可能会遇到乱码问题,主要是由于编码格式不一致导致的。Java默认使用UTF-8编码,而C++在Windows XP环境下可能使用GBK编码。解决这个问题的关键在于确保数据在传输过程中保持正确的...

    防止Socket传递汉字乱码

    在Java编程中,网络编程是不可或缺的一部分,而Socket通信是实现网络数据传输的基础。当涉及到汉字这类非ASCII字符集的传递时,可能会遇到乱码问题。本篇文章将深入探讨如何防止Socket传递汉字乱码,确保数据传输的...

    Java c++ socket通信

    Java和C++之间的Socket通信是跨语言网络编程的一个常见应用场景。Socket是计算机网络中的一个通信协议,它允许不同操作系统上的应用程序之间建立连接并交换数据。在这个场景中,Java作为客户端,C++作为服务端,两者...

    flash XMLSocket java 通信(采用服务器推技术 解决了乱码 )

    本文将深入探讨如何使用XMLSocket在Flash与Java之间进行高效、稳定的数据交换,并且特别关注如何解决在通信过程中可能出现的中文乱码问题。 首先,XMLSocket是Flash中的一个类,它提供了基于TCP/IP的双向通信功能,...

    java写的socket通信客户端

    发送和接收字符串时,需确保两端采用相同的编码方式,否则可能会出现乱码问题。 9. **安全性**: 对于涉及敏感信息的通信,可能需要使用SSL/TLS来加密数据,以保护数据的隐私。Java提供了`javax.net.ssl`包来支持...

    JAVA socket收发数据,并支持断网自动连接

    在Java编程中,Socket通信是网络应用程序之间进行双向通信的基础。Socket API提供了低级别的网络通信接口,使得开发者能够创建客户端和服务器之间的连接。本话题主要关注如何使用Java Socket实现数据的收发,并在...

    JAVA SOCKET 编码实例

    在Java编程领域,Socket通信是实现网络间应用进程间通信的一种技术。本示例将深入讲解如何使用Java Socket进行编码,结合CINDY开源包,为开发者提供实用的开发指导。 首先,理解Java Socket的基本概念至关重要。...

    C#与Android Socket通信

    1. 异常处理:Socket通信过程中可能会出现各种异常,如连接超时、网络中断等,需妥善处理。 2. 并发处理:如果服务器需要同时处理多个客户端连接,需要考虑多线程或异步处理。 3. 数据编码:确保客户端和服务器之间...

    Java基于Socket局域网聊天软件

    总的来说,Java基于Socket的局域网聊天软件涉及到了Java网络编程的多个核心概念和技术,包括Socket通信、TCP协议、多线程、输入输出流、字符编码、并发控制以及UI设计等。理解并掌握这些知识点对于开发类似应用至关...

    android socket通信demo

    在Android平台上,Socket通信是一种常见的网络编程方式,用于设备间的双向数据传输。Socket基于TCP/IP协议,提供了可靠的、面向连接的通信服务。本篇将详细讲解Android Socket通信的基础知识、实现步骤以及注意事项...

    Java开发Client客户端,连接Windows的Telnet服务器,解决了中文乱码问题

    本文将详细探讨如何使用Java开发这样的客户端,并解决在处理中文字符时可能出现的乱码问题。 首先,让我们了解Java中的Socket编程。在Java中,`java.net.Socket`类提供了TCP/IP套接字功能,可以用于建立客户端到...

    基于java NIO的socket通信demo

    在这个“基于java NIO的socket通信demo”中,我们将探讨如何使用NIO进行服务器和客户端的Socket通信,并解决通信过程中的字符集乱码问题。 首先,我们来看`NioServer.java`。这个文件中包含了一个基于NIO的服务器端...

    Netty进制转换乱码问题

    不同的编码方式会导致相同的字符表示为不同的字节序列,如果在发送端和接收端使用了不同的编码方式,就会出现乱码问题。 2. **Netty中的 ByteBuf**:Netty的ByteBuf提供了多种方法来读写字节,但并未涉及字符编码。...

    java socket 客户端和服务端例子

    Java Socket是Java编程语言中用于实现网络通信的一种基础工具,它允许两个应用程序通过TCP/IP协议进行数据交换。在这个"java socket 客户端和服务端例子"中,我们有两个主要组件:服务端(server)和客户端(client...

    Delphi和JAVA进行TCPIP通信(用UTF-8编码)例子

    最近的项目(Delphi开发),需要经常和java语言开发的系统进行数据交互(Socket通信方式),数据编码约定采用UTF-8编码。 令我无语的是:JAVA系统那边反映说,Delphi发的数据他们收到是乱码,而我这边(Delphi7,...

    java socket文件夹传输

    在实际应用中,应考虑安全因素,如使用SSL/TLS加密Socket通信,防止数据被窃听。此外,文件传输应验证文件来源,防止恶意文件的传输。 8. **改进方向**: - 支持二进制文件传输:除了文本文件,还需要支持图片、...

    android socket通信DEMO

    数据传输时要考虑字符编码问题,确保两端使用的编码一致,以免出现乱码。 5. **心跳机制** 长连接中,为了检测连接是否断开,通常会设定心跳机制,定期发送小量数据来保持连接活跃。 6. **安全性** 生产环境中...

    Android 手机和手机之间的Socket通信

    在Android平台上,Socket通信是一种常见的数据传输方式,它允许设备之间建立可靠的、基于TCP/IP的连接,实现数据的双向交互。本主题将深入探讨如何在两部Android手机之间使用Socket进行通信,分为服务端(Server)和...

    java socket 网络聊天系统

    在Java中,我们需要确保客户端和服务器端对数据的编码方式一致,否则可能会出现乱码问题。 6. 异常处理:在网络通信中,网络中断、连接失败等问题是常态,因此良好的异常处理机制是必不可少的。我们需要捕获并适当...

Global site tag (gtag.js) - Google Analytics