socket1

<?php
//@time 9/27
/*
要写网路程序就必须使用Socket,这是程序员都知道的.而且面试的时候,我们也会问对方会不会Socket编程???
一般来说,很多人都会说,Socket编程基本上就是Listen,accept,send以及write等几个基本的操作.

对于网络编程,我们必言TCP/IP协议.似乎其他的网络协议都不存在了.对于TCP/IP,我们还知道TCP和UDP,前者可以保证数据的正确性和可靠性,后者则允许数据丢失.最后,我们还知道,在建立连接前,必须知道对方的IP地址和端口号!除此,普通的程序员就不会知道太多了,很多时候这些知识就已经够用了看!

我们还知道以下几个知识点:
1.一个指定的端口号不能被多个程序公用
2.很多防火墙只允许特定目标端口的数据包通过
3.服务程序在Listen某个端口并accept某个连接请求后,会生成一个新的socket来对该请求处理.


我又仔细的研究了TCP/IP的协议线的原理,针对很多概念有了很深刻的原理

在TCP和UDP同属于传输层,共同架设在IP层(网络层),而IP层主要负责在节点之间(End to End)的数据包的传送,这里的节点是一台网络设备.比如计算机.

因为IP层只是把数据发送到节点,而不能区分上面的不同应用,所以TCP/UDP协议在其基础上加入了端口的信息.端口标识的是一个节点之上的一个应用.除了增加端口信息,比如UDP信息就没有对IP层的数据进行任何的处理.而TCP协议还加入了更加复杂的传输控制,比如滑动的数据发送窗口(Slice Window),以及接收确认和重发机制,已达到数据的可靠传送.
不管应用层看到的是怎样的一个稳定TCP数据流,下面传送的都是一个个的IP数据包,需要TCP协议进行数据重组.

其实socket和TCP/ip没有必要的联系,
socket的出现是为了更好的使用TCP/IP协议线而已.而对TCP/IP进行了抽象,形成了几个最基本的函数接口.比如create,listen,accept,connect,read和write/

所有的目标是80端口的TCP数据包都会把转发给改程序(这里的程序,就是使用socket编程接口,所以首先由socket层来处理).所谓accept函数,其实抽象的就是TCP的连接建立过程.accept函数返回的新socket其实指代的是本次创建的连接,而一个连接是包括这两部分信息的,一个是源IP和源端口,另一个是宿IP和宿端口.
如果一个程序创建了一个socket,并让其监听80端口,其实是向TCP/IP协议栈声明了其对80端口占有,所以所有目标是80端口的TCP数据包都会转发给

+----------------------------------------------------------------------------------------+
古老的欺骗SQL语句:

在默认的情况下,即使你是忘记了php.ini拷贝/usr/local/lib/php.ini
php还是打开了magic_quotes_gpc=on
这样所有的从get/post/cookie的变量里面来的单引号,双引号,反斜杠backslash()以及空字符null(the null byte)都会被加上反斜杠.以让数据库能准确的查找.

解决的最好方法:
从get/post/cookie里面添加一个自定i的方法:

function gpc2sql($str){
if(get_magic_quotes()==1)
return $str
else
return addslashes($str);
}


+--------------------------------------------------------------------------------------+
<?php
if(!extension_loaded('socket')){
if(strtoupper(substr(PHP_OS,3)) == [WIN]){
dl('php_socket.dll');
} else{
dl('socket.so');
}
}
?>

 

转载于:https://www.cnblogs.com/sgsheg/archive/2012/09/27/2705725.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值