基于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端,因此功能比较简单,目的也仅仅用于学习,但你可以在此功能上增加更多的功能。

相关文章推荐

网狐6603 麻将、房卡类子游戏《湖南YY麻将》(手机端+服务器+网站后台)全套完整源码下载

Linux局域网中 TCP 多线程 Server + Client 聊天室程序源码

#include #include #include #include #include #include #include #include #include #include ...
  • zhi_qiu
  • zhi_qiu
  • 2014年07月22日 21:45
  • 924

JAVA基础 day25 网络编程 IP类 UDP,TCP传输学习 简易聊天工具 TCP并发学习

网络编程网络通讯要素:IP地址(32位):网络中设备的标识,不易记忆,可用主机名。本地回环地址:127.0.0.1,主机名:localhost端口(0-65535) 传输协议(常用的有TCP/IP,...

用TCP_IP进行网际互联全卷及源码

  • 2017年11月09日 17:26
  • 36MB
  • 下载

LwIP 协议栈源码详解 ——TCP/IP 协议的实现(七:以太网数据接收)

6  以太网数据接收 少壮不努力,长大写程序。悲剧!         昨天说到 low_level_init 函数是与我们使用的与硬件密切相关初始化函数,看看: static void low_...

tcp/ip详解,卷1:协议源码

  • 2009年11月10日 10:46
  • 56KB
  • 下载

Linux TCP/IP 协议栈源码分析 - 数据 发送/接收 流程图

Linux TCP/IP 协议栈源码分析 - 数据 发送/接收 流程图
  • ztguang
  • ztguang
  • 2016年09月27日 10:56
  • 1244
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于TCP/IP的手机聊天游戏(附带源码和解释)之共享类
举报原因:
原因补充:

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