WEB开发网
开发学院图形图像Flash flash 聊天室 阅读

flash 聊天室

 2009-05-30 12:07:50 来源:WEB开发网   
核心提示: 三、编写客户端 Socket1. 首先,Socket 连接非常简单: var socket:Socket = new Socket(); socket.connect("127.0.0.1", 8888);其中 connect() 方法中的两个参数分别为是主机名和端口号

三、编写客户端 Socket

1. 首先,Socket 连接非常简单:

    var socket:Socket = new Socket();
    socket.connect("127.0.0.1", 8888);

其中 connect() 方法中的两个参数分别为是主机名和端口号(端口号尽量用 1024 以上)。好了,这样就连接上了。接下来是读写的问题。

2. 向服务器端写入字符串:我们在 sendMessage() 方法中进行写入操作,注意写出的字串必需以回车(n)结束:

function sendMessage(evt:Event):void {
    var bytes:ByteArray = new ByteArray();
    bytes.writeUTFBytes(input_txt.text + "n");
    socket.writeBytes(bytes);
    socket.flush();
  
    // 清空 input_txt,并设置焦点到 input_txt
    input_txt.text = "";
    stage.focus = input_txt;
}

3. 读取服务器端写回的字符串:最后将服务器发回的字符串输出到 output_txt 文本域中:

// 当客户端 socket 收到数据后会调用 readMessage() 函数
socket.addEventListener(ProgressEvent.SOCKET_DATA, readMessage);

function readMessage(evt:ProgressEvent):void {
    output_txt.appendText(socket.readUTF() + "n");
}

四、Flash 客户端全部脚本

// ************ 组件参数初始化 ************
submit_btn.label = "发送消息";
output_txt.editable = false;

input_txt.setStyle("textFormat", new TextFormat(null, 15));
output_txt.setStyle("textFormat", new TextFormat(null, 15));
submit_btn.setStyle("textFormat", new TextFormat(null, 15, null, true));

submit_btn.addEventListener(MouseEvent.CLICK, sendMessage);
addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);

function onKeyDown(evt:KeyboardEvent):void {
    if (evt.keyCode == Keyboard.ENTER) {
        sendMessage(null);
    }
}

function sendMessage(evt:Event):void {
    var bytes:ByteArray = new ByteArray();
    bytes.writeUTFBytes(input_txt.text + "n");
    socket.writeBytes(bytes);
    socket.flush();
  
    input_txt.text = "";
    stage.focus = input_txt;
}

// ************ 客户端 Socket ************
var socket:Socket = new Socket();
socket.connect("127.0.0.1", 8888);
socket.addEventListener(ProgressEvent.SOCKET_DATA, readMessage);

function readMessage(evt:ProgressEvent):void {
    output_txt.appendText(socket.readUTF() + "n");
}

上一页  1 2 3 4 5  下一页

Tags:flash 聊天室

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接