PHP Socket Server端例子

 1 */本文章提供在php教程中socket相关函数的实例,如果创建socket 接受一个socket连接 写入一个socket 初始化连接等操作。*/

 2 $ip="127.0.0.1"; //定义ip地址

 3 $port=1000; //定义端口

 4 $socket=socket_create(af_inet,sock_stream,sol_tcp); //创建socket

 5 $bind=socket_bind($socket,$ip,$prot); //绑定一个socket

 6 $listen=socket_listen($socket); //监听socket

 7 $msg=socket_accept($socket); //接受一个socket连接

 8 $welcome="欢迎来到php服务/n"; //定义字符串

 9 socket_write($msg,$welcome,strlen($welcome)); //写入一个socket

10 socket_close($socket); //关闭socket

11 

12  

13 

14 $ip="127.0.0.1"; //定义ip地址

15 $port=1000; //定义端口

16 $socket=socket_create(af_inet,sock_stream,sol_tcp); //创建socket

17 socket_clear_error($socket); //清空socket错误信息

18 socket_close($socket); //关闭socket

19 

20  

21 

22 $sockets=array(); //定义一个数组

23 

24 if(!socket_create_pair(af_unix,sock_stream,0,$sockets)) //如果socket没有成功创建

25 {

26 echo socket_strerror(socket_last_error()); //输出错误信息

27 }

28 

29 if(!socket_write($sockets[0],"abcdef123n",strlen("abcdef123n"))) //如果执行socket写失败

30 {

31 cho socket_strerror(socket_last_error()); //输出错误信息

32 }

33 if(!$data=socket_read($sockets[1],strlen("abcdef123n"),php_binary_read)) //如果读取信息失败

34 {

35 echo socket_strerror(socket_last_error()); //输出错误信息

36 }

37 var_dump($data); //输出socket数据信息

38 

39 socket_close($sockets[0]); //关闭socket1

40 socket_close($sockets[1]); //关闭socket2

41 

42  

43 

44 $ip="127.0.0.1"; //定义ip地址

45 $port=1000; //定义端口

46 $socket=socket_create(af_inet,sock_stream,sol_tcp); //创建socket

47 socket_set_nonblock($socket); //设置不锁定状态

48 socket_connect($socket,$ip,$port); //初始化连接

49 socket_set_block($sock); //锁定socket

50 switch(socket_select($r=array($socket),$w=array($socket),$f=array($socket),5))

51 {

52 case 2:

53 echo "连接被拒绝!n";

54 break;

55 case 1:

56 echo "成功连接n";

57 break;

58 case 0:

59 echo "连接超时n";

60 break;

61 }

62 

63  

64 

65 

66 class socketlistener extends socket

67 {

68 function __construct($port=null) //定义__construct方法

69 {

70 $this->stream=@socket_create_listen($port?$port:port); //打开端口接受连接

71 }

72 function isactive() //定义isactive方法

73 {

74 if($this->stream) //如果有连接

75 {

76 return true; //返回真值

77 }

78 else //无连接

79 {

80 return false; //返回假值

81 }

82 }

你可能感兴趣的:(socket)