zoukankan      html  css  js  c++  java
  • tcl socket

    1.socket 服务端开启
    格式:socket –server command ?options? port
    -server  :表明开启的是服务器端
    port:端口
    command:当有客户端来连接的时候,执行这个过程,这个过程有三个参数
     channel:给新客户端的通道
     address:提供给客户端连接的 ip 地址
     port:端口

    2.客户端连接服务器端
    格式:socket ?options? host port
    host port  :客户端连接的服务器 ip和端口

    3.fileevent定义了一个句柄,满足条件时执行
    格式:fileevent channelId readable? script?
    fileevent channelId writeable? script?
    readable:当通道 channelId 有数据准备好被读了,执行脚本 script
    writeable:当通道 channelId 有数据准备好接收数据了,执行脚本 script
     
    4.vwait 命令使执行暂停,直到 varName 被赋值,即便赋值前后相同
    格式:vwait varName


    例子一:简单的客户端连接服务端
    -----------------------------------------------------------------------------------------
    server:
    proc accept {chan addr port} {
    puts "$addr:$port says [gets $chan]"
    puts $chan goodbye
    close $chan
    }
    socket -server accept 12345
    vwait forever

    client:
    set chan [socket 127.0.0.1 12345]
    puts $chan hello
    flush $chan
    puts "server says [gets $chan]"
    close $chan

    运行结果:
    -servr
    127.0.0.1:3148 says hello
    -client
    server says goodbye

    例子二:显示服务端时间
    格式:clock seconds
    功能:返回从计算机纪元开始的秒数,不同操作系统开始时间可能不同,所以这个值通常用来作为命
    令 clock format 的输入
    clock format [clock seconds] 返回当前时间
    clock format [clock seconds] -format %H:%M:%S  以“时:分:秒”形式返回当前时间
    -----------------------------------------------------------------------------------------
    server:
    proc Server {channel clientaddr clientport} {
    puts "Connetion from $clientaddr $clientport registered"
    puts $channel [clock format [clock seconds]]
    close $channel
    }
    socket -server Server 9911
    vwait forever

    client:
    set chan [socket 127.0.0.1 9911]
    gets $chan line
    close $chan
    puts "The time on $chan is $line"

    运行结果:
    -server
    Connetion from 127.0.0.1 3163 registered
    -client
    The time on sock268 is Tue Dec 15 09:07:00 +0800 2009

  • 相关阅读:
    Linux权限对文件或者目录的影响
    Linux基础命令chmod(什么是权限?如何设置权限)
    Shell编程——素数的判断
    Shell编程——阶乘
    Shell编程——回文数
    汇编(8253计数器)
    汇编(8255A的工作方式1)
    汇编(8255A的方式0)
    汇编(程序查询方式控制输入输出)
    Shell函数、接受用户输入
  • 原文地址:https://www.cnblogs.com/greencolor/p/1900773.html
Copyright © 2011-2022 走看看