server

 #!/bin/zsh
 #zsh TCP server script
 zmodload zsh/net/tcp
 #listening port
 ztcp -l
 #This is a file describ mark $REPLY
 fd=$REPLY

 echo "Waiting for a client..."
 #accept a new connect.
 ztcp -a $fd
 clientfd=$REPLY
 echo "client connected"

 echo "welcome to my server" >& $clientfd

  ]
 do
 read line <& $clientfd
 if [[ $line = "exit" ]]
 then
 break
 else
 echo Received: $line
 echo $line >& $clientfd
 fi
 done
 echo Client disconnected session
 #Close fd and clientfd
 ztcp -c $fd
 ztcp -c $clientfd

client

 #!/bin/zsh
 #Zsh tcp client program
 zmodload zsh/net/tcp

 ztcp localhost
 hostfd=$REPLY

 read line <& $hostfd

 echo $line
  ]
 do
 echo -n "Enter text:"
 read phrase
 echo Sending $phrase to remote host...
 echo "$phrase" >& $hostfd
 #There is a small problem:if server is shut,client will continu run.Fortunately,after three request,the connect will close atuomatically.
 if [[ $phrase = "exit" ]]
 then
 break
 fi
 read line <& $hostfd
 echo " received: $line"
 done
 ztcp -c $hostfd

zsh 通信脚本的更多相关文章

  1. 树莓派进阶之路 (035) - 基于linux的zsh安装脚本

    基于linux的zsh安装脚本: Ubuntu版本: #!/bin/sh cd #安装zsh sudo apt-get install zsh #查看zsh cat /etc/shells #更改zs ...

  2. 树莓派进阶之路 (005) - 树莓派Zsh安装脚本(原创)

    zsh.sh #!/bin/bash cd #安装zsh sudo apt-get install zsh #查看zsh cat /etc/shells #更改zsh chsh -s /bin/zsh ...

  3. Unity(2) 脚本简单操作

    生命周期(按顺序排列) Awake():脚本唤醒,系统执行的第一个方法,在脚本声明周期内只执行一次,初始化一般可以在这里 Start():Awake之后,Update之前,只执行一次,一般在awake ...

  4. 调试设置移动端Web开发环境搭建实践

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 本文重要总结一下挪动端进行前端开发时需要用到的一些工具,以及他们之间互相的组合,同时也包含本人应用的组合. 1. Chrome To ...

  5. 环境与工具2:建立高效的mac环境

    你的工作与生活离不开电脑,电脑是一个工具,也是一个环境.环境是不是绿水青山,是不是得心应手,这是很重要的事情.小程平时使用macbook来学习跟娱乐,最近重装了系统,很多环境与工具都需要重新组建. 那 ...

  6. oh-my-zsh安装与使用

    使用oh-my-zsh之前确保安装过zsh 通过脚本安装: sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussel ...

  7. iTerm2 都不会用,还敢自称老司机?(上)

    对于需要长期与终端打交道的工程师来说,拥有一款称手的终端管理器是很有必要的,对于 Windows 用户来说,最好的选择是 Xshell,这个大家都没有异议.但对于 MacOS 用户来说,仍然毋庸置疑, ...

  8. 通信统计接口字段填充内容shell脚本

    现在通信行业上班,最麻烦的就是计算各个协议接口字段填充的内容是否正确.经历了小白似的一个个字段统计在到单个接口所有字段统计,然后到现在的多个接口一次统计.在大大节省了时间的同时,让自己有更充足的时间来 ...

  9. Unity3D笔记 英保通三 脚本编写 、物体间通信

    一.脚本编写 1.1.同一类型的方法JS和C#的书写方式却不一样主要还是语法,在工程中创建一个Cube 分别把JSTest.js和CSharp.cs 添加到Cube中 JSTest.js #pragm ...

随机推荐

  1. the usage of linux command "expect"

    #! /usr/bin/expect -f# this script is used to practise the command "expect" #when "li ...

  2. [译]使用6to5,让今天就来写ES6的模块化开发!

    http://es6rocks.com/2014/10/es6-modules-today-with-6to5/?utm_source=javascriptweekly&utm_medium= ...

  3. 2015年12月10日 spring初级知识讲解(三)Spring消息之activeMQ消息队列

    基础 JMS消息 一.下载ActiveMQ并安装 地址:http://activemq.apache.org/ 最新版本:5.13.0 下载完后解压缩到本地硬盘中,解压目录中activemq-core ...

  4. Linux中postfix邮件服务器的搭建

    postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试.在 ...

  5. zookeeper集群配置与启动

    摘要:Zookeeper是一个很好的集群管理工具,被大量用于分布式计算.如Hadoop以及Storm系统中.这里简单记录下Zookeeper集群环境的搭建过程.本文以Ubuntu 12.04 LTS作 ...

  6. IEnumerable<> ICollection <> IList<> 区别

    IEnumerable< ICollection < IList区别 public interface IEnumerable { IEnumerator GetEnumerator(); ...

  7. 利用WCF技术降低系统之间的耦合度

    为了降低本系统各个组件之间的耦合度,本系统将BLL层采用WCF技术发布为Web Service,以供UI层调用. 前面我们已经介绍过,为什么UI层不直接调用BLL层,而是要经过UI->Servi ...

  8. OS X Framework Library not loaded: 'Image not found'的解决办法

    参考:OS X Framework Library not loaded: 'Image not found' 1.首先将相应的framework手动复制到/System/Library/Framew ...

  9. bootstrap-scrollspy

    功能:用在导航栏上,用于滚动内容时动态对应导航标签 插件:scrollspy.js 要点:scrollspy用在导航栏.导航条上居多.body添加data-spy="scroll" ...

  10. Android文本读写

    //写文件操作   public void writeFileData(String fileName, String message){        try{            FileOut ...