Blog

52 search results for:

19

创建自己的Socket服务器

/ in Boke / by Terry
在互联网的日常应用或开发中,很多应用都是以Socket为底层建立起来的。比如电子邮件的一些列服务,SMTP服务使用25端口,POP使用110端口,Telnet使用22端口,我们开发PHP用的Apache Web服务用的是80端口等,这些应用服务器都是基于Socket开发的。 使用PHP建立TCP服务器,首先在本地开放一个端口,该端口应该是没有被占用的,刚才提到的标准端口请不要使用,原则上应该使用1000以上的端口号。 然后我们要让PHP在Shell或命令行下执行,也就是CLI方式,请看下面完整的脚本例子: #!/usr/local/bin/php -q 通常,使用socket最好使用CLI模式,即在命令行下执行,因为CLI没有脚本超时的限制,在一个新的终端或Win32命令行运行该脚本后,我们可以用以下方式连接该端口的Socket服务器。 如果是本地Windows主机,则需要关闭防火墙等包过滤软件,然后在命令行下输入: telnet localhost 55555 这样,我们就可以连接到刚才PHP建立的Socket服务器,登陆后,就能收到刚才程序中的欢迎信息,证明Socket服务器已经建立成功了。 Socket开发是很有趣的事,事实上很多应用,如短信接口、支付接口、数据接口还在使用Socket技术开发。
20

PHP网络开发之电子邮件服务器

/ in Boke / by Terry
近来一直都在处理关于电子邮件服务器的网络应用,在此给大家提供一些相关要点知识。 使用PHP可以方便、快捷滴开发很多基于E-mail的应用,如邮件列表以及企业或个人电子邮件系统等。电子邮件服务一般采用UNIX系统下的免费电子邮件传输代理(MTA、Mail Transfer Agent)系统,如使用Qmail、Postfix、Sendmail等构建,作为Linux/UNIX 的天生战友,PHP使用这些MTA将更适合。 当然PHP在Win32也可以使用Imail、Exchange之类的服务发送邮件,或者使用外部SMTP来发送也是可以的。 邮件传输代理(MTA、Mail Transfer Agent)是邮件服务器的核心,MTA最大的任务是从其他的SMTP服务器访问电子邮件内容,以及传递给正确地址的mail缓冲池。 MTA作为邮件服务器的管家,负责看管进入服务器的钥匙,它负责分配mail并且询问访问者的合法身份,如果访问者被识别为垃圾邮件地址,MTA将立即拒绝从该电子邮件地址发送的邮件传递行为,若这个访问者不是垃圾邮件,MTA将开始检查信封和接收地址是否为一个正常的邮件服务器,若不是,则将“Return to sender, underliverable as addressd” 信息返回到该信封并删除到邮件箱的输出。如果邮件地址经过验证后无误,MTA将信发送到用户的收件箱(实际上是保存在用户的home目录或MTA指定的目录位置)。 220 receipthost ESMTP HELO 250 receipthost MAIL From:<[email protected]> 250 ok RCPT To:<receiver@receipthost> 250 ok…
21

CSS 在 Ajax 中的应用

/ in Boke / by Terry
CSS 是用来统一页面布局的,如果网站有一百多个页面,那么就可以通过修改一个样式表文件来改变所有页面的样式,这是符合一个设计多次使用的软件工程原则。 Web 2.0时代给人的是焕然一新的设计界面和内容布局,由于CSS 是统一的标准,几乎所有的Web开发工具都支持CSS. 虽然在Ajax的定义中并没有看到CSS 的名字,但开发一个美观的Web程序,却是离不开CSS的支持。 CSS 在Ajax的作用是开发统一的界面布局,并能随时修改部分元素的样式。由于Ajax提供了局部刷新的功能,所以使用CSS 可以实现局部元素更新样式,而不影响到整个页面, 这里介绍两种: 1. 一种主要是使用到Ajax中的DOM和Javascript技术来实现Ajax动态改变局部元素样式。由于没有与服务端的数据交互,所以并不实用XMLHttpRequest技术。 例如: 我变! 点击按钮后,就可以看到 “我变” 发生了变化。 2. 使用Ajax异步获取数据来达到改变样式。 例如:创建异步获取对象 var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); funtion getData() { //状态发生变化是关联的方法 xmlhttp.onreadystatechange=statechange; //异步加载服务器端数据…
22

网页编码的国际化和本地化-翻译文件(一)

/ in Boke / by Terry
作为翻译公司,经常听到公司有同事说到翻译文档编码的问题,这里和大家一起探讨网页编码的国际化和本地化的一些基础知识,希望能给大家在平时工作中得到帮助。 Web网页,有时候需要针对不同地区的用户,显示不同的数据格式,如一个B2C网上商店,当美国客户要访问网站时,网站中的商品的价格应显示为美元单位,方便客户查看,另外网站页面显示的日期、网页语种编码等地区化特征也应该根据客户所在的地区做自动的调整,这里就会涉及到网页的字符集和编码的原理,在网页或数据库中乱码的解决方案,以及将不同的字符编码转换为同一种编码的处理方法。 由于软件开发的历史原因,最初的软件只有英文版本,根据需要,作者再把软件界面和文档翻译成不同国家、地区的语言版本。但是由于实现翻译的途径、翻译的工作效率、翻译的可重用性等因素各不相同,使翻译工作面临很大困境,为了方便将软件翻译成不同语言的版本,就需要一套翻译规范和通用工具,就导致了“国际化”机制的出现。 字符集与编码经常出现在一起,有时候会被混为一谈,它们的确很相似,但它们之间实际上是名词和动词的区别:字符集是将人类使用的自然文件映射到计算机内部二进制的表示方法,是某种文字和字符的集合,如GB2312字符集;而编码是idui这种字符集的编码方式。目前,我们使用的计算机操作系统,无论是Windows或Linux/UNIX系统均支持不同字符集的编码和显示。 下面介绍几个常用到的字符集: ASCII字符集 ISO-8859字符集,ISO 8859是在ASCII编码基础上制定的编码标准,包括以下几种字符集 Latin-1(西欧语言) Latin-2(非Cyrillic的中欧和东欧语言) Latin-3(南欧语种) Latin-5(土耳其语言) Latin-6(北欧和波罗地语言) 8859-5(Cyrillic西里尔语言) 8859-6(阿拉伯语言) 8859-7(希腊语言) 8859-8(希伯来语言) ANSI编码 GB2312与GBK编码 Unicode字符集 UTF-8字符集 UTF-16字符集 UTF-32字符集 如何正确使用文本编码呢?下一篇会和大家细谈文件编码如何识别,如何修改。
23

设计Newsletter的规则

/ in Boke / by Terry
设计Newsletter模板的几点规则: 1. 网页应该使用 这个 文档标准。 2. 网页中尽可能使用table标签来设计网页。 3. 网页不要使用背景图片。 4. 在style样式中尽可能减少对HTML标签的控制,而是更多直接在HTML标签中使用属性和style直接进行样式控制。 5. 设置好网页的显示编码,例如: 6. 不要使用外部样式进行控制。 7. 不使用较大的图片或Flash作为网页内容。 8. 下面给大家一个标准的Newsletter模板,仅供参考。 Vol.1 Jul 2011 Company Overview News Industry Dynamic Learning & Fun…
24

UI界面-交互禁忌

/ in Boke / by Terry
“交互错误” 为UI设计的更深层次的错误,虽然没有违背外观设计的指导原则,但它们违背了基本的用户界面设计原则。下面介绍一些我们在设计UI过程中经常会忽略的交互禁忌。 1. 将实现暴露给用户 例如开发人员有时将应用程序的实现“泄露”到用户界面中,还暴露了与用户任务和目标无关的内部结构和概念,这样就破坏了易用性,因为这样就会强迫用户像程序员一样地思考。 2. 减少不必要的限制 例如应尽量避免强加的输入数字的限制。 3. 令人混淆的概念 所有的软件应用程序开发都会公开一个概念模型,这个概念模型类似我们所说的原型,包括用户创建和操纵的对象、用户在对象上执行的操作,以及用户可以看到的对象属性,概念模型确定了开发的产品的易用性。例如一个家公司开发了一个供人们搜索和购买房屋的Web站点,有两种搜索房屋的方式: 提供州、国家或城镇的名称 在地图上指定 的一个位置。 用户必须选择是通过“by location” 还是“by map” 进行搜索,但很多用户分不清“by location”和“by map”之间的区别。这两种方式实际上都是按位置搜索,区别只是如何指定位置。这个站点的设计人员设置了一个人为的区别,希望用户理解和接受,但用户不会接受。 1. 向用户索取不必要的数据 显然妨碍用户体验的一种形式就是要求他们输入网站不需要的数据。 例如: “我们忘记了,请再次告诉我们” 不必要的问题 要求重复登陆到某一个会话中 1. 向用户索取随机数…

Need Translation Service?

Please enter your personal details and we will contact you shortly.