基于TCP/IP的手机聊天游戏(附带源码和解释)之共享类

原创 2006年06月06日 06:46:00

声明

这是一个Client基于J2ME以及TCP/IP协议的简单的聊天程序,在本人模拟器上测试没问题,但并不保证真机上会出现问题。

代码以及整个游戏框架你可以拿来自由使用,但请注明出处。

(一)

这部分是程序Cilent端和Server端共用的一些类,之所以把它们拿出来单独写,是为了让整个程序的框架更清晰。

其实也就一个类、一个接口,但思想是一样的,或许你需要更多的类来让Client和Server共用,举个例子来说:如果你采用了“脏矩形技术”,那么可以把每个Item、每个Frame做个共享类放在这里。

Server接口:

public interface Server {
    public static final int PORT = 8042;
}

这个接口里很简单,之定义了一个端口号,以便于以后的程序修改和维护。

Message类:

听其名字就知道了,这个是消息类,因为无论是Client端还是Server端,其消息是能抽象出很多相似的东西的。

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class Message {
    public static final int NO_VALUE = -1;
    public static final int SIGNUP = 0;
    public static final int SIGNUP_ACK = 1;
    public static final int CLIENT_STATUS = 2;
    public static final int SERVER_STATUS = 3;
    public static final int ERROR = 4;
    public static final int SIGNOFF = 5;
    private int type;
    private String str;
    public static int player_id;

    public Message(int type,int player_id,String str) {
         this.type = type;
         Message.player_id = player_id;
         this.str = str;
    }
   
    public int getType() {
        return type;
    }

   public String getStr(){
     return str;
   }
   
    public void archive(DataOutputStream out) throws IOException {
        out.writeInt(type);
        out.writeInt(player_id);
        out.writeUTF(str);
        out.flush();
        System.out.println("***Client has send :"+type);
    }

   public static Message createFromStream(DataInputStream in) throws IOException {
        Message msg = new Message(in.readInt(), in.readInt(),in.readUTF());
        return msg;
    }

   public String toString() {
        return "Message: type # = " + type + ", player_id = "
               + player_id+", content = "+str;
    }

}

因为我们只是实现了简单的聊天功能,只是发送简单的字符给Server端,然后让其传送到各个Client端,因此功能比较简单,目的也仅仅用于学习,但你可以在此功能上增加更多的功能。

基于TCP/IP的手机聊天游戏(附带源码和解释)之共享类

声明:这是一个Client基于J2ME以及TCP/IP协议的简单的聊天程序,在本人模拟器上测试没问题,但并不保证真机上会出现问题。代码以及整个游戏框架你可以拿来自由使用,但请注明出处。(一)这部分是程...
  • itkbase
  • itkbase
  • 2008年01月03日 09:29
  • 200

基于TCP/IP的手机聊天游戏(附带源码和解释)之服务器端类

服务器端也很简单,就是开一个ServerSocket监听Client端的连接,如果有连接,就把此连接加入到一个List中。之所以这样处理,是为了管理用户连接,比如将来你可能需要增加给特定的用户发送私人...
  • ai_ma_ai
  • ai_ma_ai
  • 2015年12月29日 13:37
  • 1299

基于TCP/IP的手机聊天游戏(附带源码和解释)之客户端类

客户端很简单,就是开一个线程处理用户的数据发送和接收,并做出相应的界面处理。由于其简单,我就不再罗嗦,看代码:MIDlet类:import java.io.DataInputStream;import...
  • dongfengsun
  • dongfengsun
  • 2006年06月06日 07:10
  • 1745

基于TCP/IP的手机聊天游戏(附带源码和解释)之服务器端类

服务器端也很简单,就是开一个ServerSocket监听Client端的连接,如果有连接,就把此连接加入到一个List中。之所以这样处理,是为了管理用户连接,比如将来你可能需要增加给特定的用户发送私人...
  • itkbase
  • itkbase
  • 2008年01月03日 09:29
  • 153

使用TCP/IP协议实现聊天程序

TCP/IP协议的传输即面向点到点的传输方式!   1.创建应用程序   选择“NEW”菜单下的“Application”选项,创建一个普通的应用程序。   2.创建所需控件   首...
  • u014802181
  • u014802181
  • 2015年11月12日 10:49
  • 590

JAVA程序设计:基于TCP协议的聊天程序

一、程序实现的功能: 1、进入客户端界面 2、创建昵称 3、群发信息 4、@私聊 5、下线通知 6、在线人数统计 二、整体架构图: ...
  • mmayanshuo
  • mmayanshuo
  • 2017年11月12日 14:35
  • 711

TCP/IP简易聊天软件C++实现 - 应用层协议

第一步:需求 软件需要实现的功能: 0.登录  1.私聊   2.群聊  3.文件传输 第二步:考虑使用的网络通信协议。 鉴于ICQ使用的TCP协议,采用TCP实现聊天和文件传输。因为服务器端...
  • han6771306
  • han6771306
  • 2014年04月19日 23:22
  • 1508

linux下TCP/IP实现简单聊天程序

可以在同一台电脑上运行,在一个终端上运行服务器端,在一个终端上运行客户端。 服务器端的IP地址要和本地的IP相同,并分配端口号,客户端的默认设置为本地,端口号自动分配。 服务器端: ...
  • u013467442
  • u013467442
  • 2015年05月16日 12:20
  • 2065

基于TCP的网络聊天程序

基于TCP的网络聊天程序
  • chen_swe
  • chen_swe
  • 2016年02月09日 16:19
  • 1008

基于tcp/ip协议的ModBus

原文地址:http://devdiary.blog.sohu.com/188171717.html 一 以太网的标准   以太网是一种局域网。早期标准为IEEE 802.3,数据链路层使用CSM...
  • wuyuander
  • wuyuander
  • 2017年06月24日 10:04
  • 1155
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于TCP/IP的手机聊天游戏(附带源码和解释)之共享类
举报原因:
原因补充:

(最多只允许输入30个字)