经验不足导致了N多问题~特此总结下
1、首先确认双方建立长连接OR短连接,这问题由于双方缺乏沟通头痛了好久。对方其实是短连接,而自己用长连接方式发送导致消息漏发。
2、其次确认每条消息开始结束符,双方互相确认,以此为依据进行分隔消息进行处理。使用了(char)11和(char)28作为每条消息的开始结束符,对方是0x0b和0x1c,其实就是(char)11和(char)28。
3、发送紧急数据判断是否和对方处于连接状态也就是网络上流传的心跳数据每次发送消息前即java这边socket.sendUrgentData(0)来判断。使用socket.isClosed()和socket.isConnected();判断是否连接不起作用!这个只能判断之前的连接是否还处于连接状态。
4、编码问题对方使用UTF-8 java这边是GBK,使用InputStreamWriter来进行输出编码设置。
分享到:
相关推荐
用JavaSocket编程开发聊天室。 目的或任务:通过指导学生上机实践,对JavaSocket编程、Java多线程、Java图形用户界面进行掌握。 基本要求: 1.了解实验目的及实验原理; 2.编写程序,并附上程序代码和结果图; 3....
JAVA Socket编程资料汇总资源目录:【】Java Socket 编程模拟Ftp【】Java Socket多人在线考试系统源程序【】JavaSocket线程实现多客户的机制以及获取ip地址【】JavaSocket通讯例程【】三步学会JavaSocket编程资源...
Java Socket编程是Java网络编程的核心部分,允许两个网络应用程序之间进行双向通信。Socket提供了低级别的、面向连接的、基于TCP/IP的通信机制,它封装了网络通信的一些细节,使得开发者能够专注于数据的传输。 1. ...
用 JavaSocket 编程开发聊天室 用 Java 图形用户界面编写聊天室服务器端和客户端, 支持多个客户端连接到一个服务器。每个客户端能够输入账号。 可以实现群聊(聊天记录显示在所有客户端界面)。 完成好友列表在...
这个"javasocket"压缩包文件可能包含了客户端和服务器端的示例代码,通过运行这些代码,你可以看到Socket通信的实际效果。在学习过程中,尝试修改和扩展这些代码,以加深对Socket通信的理解,比如添加数据加密、心跳...
JavaSocket编程与网络组建实验报告 在计算机科学与技术专业的学习...本实验报告总结了JavaSocket编程和网络组建实验的实施过程和结果,展示了实验的目标、步骤和结果,为以后深入学习和研究提供了有价值的经验和参考。
总的来说,Java网络编程基于Socket的实现涉及网络通信的基本概念,如TCP/IP协议、端口和套接字的使用,以及Java提供的相关API。开发者需要理解网络模型和Socket的工作原理,才能有效地编写出跨网络通信的应用程序。
标题和描述中提到的“多线程JavaSocket编程示例”涉及Java编程中使用Socket进行网络通信的同时实现多线程处理,提高程序的响应性和处理效率。具体的知识点可以从以下几个方面进行详细说明: 1. Java网络编程基础:...
Java 的 Socket 编程提供了一个强大且灵活的方式来处理网络通信。通过上述内容,我们可以看到如何使用 Java 实现一个简单的客户端-服务器通信程序。掌握 Socket 编程对于从事网络应用开发的人来说至关重要。
JavaSocket编程是Java网络编程的核心技术之一,它允许Java应用程序创建和使用网络套接字(Socket)进行数据传输。Socket编程主要分为基于TCP协议的Socket通信和基于UDP协议的Socket通信,其中TCP是面向连接的、可靠...
Java Socket编程是Java中用于网络通信的核心机制,它允许应用程序通过网络发送和接收数据。主要分为两种传输模式:面向连接的Socket(使用TCP协议)和无连接的Socket(使用UDP协议)。 面向连接的Socket,也称为TCP...
JavaSocket编程实现的简单群聊软件是基于Java的网络通信技术,主要利用了TCP协议进行数据传输。在本文中,我们将深入探讨Java Socket编程的概念、原理以及如何利用它来构建一个简单的控制台版群聊应用。 一、Java ...
Java Socket编程是Java语言中用于实现网络通信的一种方式,它基于TCP/IP协议栈。本文将深入探讨Java Socket编程的核心概念、特点以及如何在实际编程中应用。 首先,网络编程的主要任务是定位主机和数据传输。在TCP/...
Java Socket编程是Java语言在网络通信中的重要组成部分,主要用于实现客户端和服务器之间的通信。Socket提供了两种主要的传输模式:面向连接的Socket(TCP)和无连接的Socket(UDP)。 面向连接的Socket,也称为TCP...
【JAVA电子白板即时通信程序】是一个基于JAVA编程语言实现的交互式应用程序,它整合了电子白板和即时通信的功能,使得用户可以在网络环境中进行实时的协作和沟通。这款程序的核心在于提供一个共享的虚拟空间,让参与...
Java SOCKET通信聊天系统是一种基于Java编程语言实现的...总的来说,Java SOCKET通信聊天系统是一个综合性的项目,涵盖了网络编程、多线程、文件操作等多个Java核心技术,对于理解和实践Java网络编程有很好的学习价值。