大胖的部落格
Just a note
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
112 随笔 :: 0 文章 :: 3 评论 :: 0 Trackbacks
<
2009年6月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
Algorithm(13)
(rss)
C#(13)
(rss)
C++(22)
(rss)
Design Pattern(23)
(rss)
Others(14)
(rss)
STL(9)
(rss)
Technical(2)
(rss)
UML(2)
(rss)
Win32(18)
(rss)
Reference
Windows XP command line
最新评论
1. re: 在TCL命令行中调用C函数
@Kenny
实在不好意思,时间太过久远,本人已好久没有接触TCL……
--大胖
2. re: 在TCL命令行中调用C函数
請問如何溝通array 變數
Q:1
tcl array in C
Q:2
C array in tcl
懇求指導
--Kenny
3. re: 在TCL命令行中调用C函数
谢谢!
--1232
Perl中的Socket
使用IO::Socket 模块
new()方法:
SOCKET对象变量=IO::Socket::INET->new(SOCKET变量值),例如:
my $sock = IO::Socket::INET->new(
PeerAddr => '127.0.0.1',
PeerPort => ‘3000’,
Proto => 'tcp',
LocalPort=> '1550');
***********************************************************************
参数 描述 值类型
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
PeerAddr 远程主机的地址 主机地址[:端口或服务]
PeerHost 与PeerAddr相同
PeerPort 远程端口或服务 端口或服务
LocalAddr 本地地址 主机地址[:端口或服务]
LocalHost 与LocalAddr相同
LocalPort 本地端口 端口或服务
Proto 所使用的协议 协议名或协议号
Type 套接字类型 SOCK_STREAM/SOCK_DGRAM...
Listen 监听的队列长度 整形数
Reuse 用于避免重启时BIND时间间隙 布尔值
Timeout 超时值 整形数
MultiHomed 用于连接多IP地址 布尔值
***********************************************************************
accept()方法:
远程连接套接字对象变量=服务端套接字对象变量->accept(),例如:
my $session = $sock->accept;
用于服务端的等待监听过程。无参数,返回值为远程连接的套接字对象变量。
调用此方法也是一个生成套接字的过程,只不过此套接字为远程连接的套接字而已,它以对象变量方式存在,据有与本地套接字变量相同的属性与方法。
代码示例:
Server
#
!perl -w
# 使用IO::Socket::INET模块
use
IO
::
Socket
::
INET;
$server_port
=
'
1550
'
;
print
"
server start\n
"
;
#
创建套接字,指定服务器端监听的端口
$server
=
IO
::
Socket
::
INET
->
new(LocalPort
=>
$server_port
,
Type
=>
SOCK_STREAM
,
Reuse
=>
1
,
Listen
=>
10
)
or
die
"
Couldn't be a tcp server on port $server_port: $!\n
"
;
#
等待监听过程
while
(
$client
=
$server
->
accept
()) {
#
读取客户端发送的内容
my
$bf
=
<
$client
>
;
print
$bf
;
#
向客户端发送内容
print
$client
"
Server to Client: Got it!\n
"
;
#
关闭新创建的套接字
close
(
$client
);
#
跳出循环
last
;
}
close
(
$server
);
Client
#
!perl -w
use
IO
::
Socket
::
INET;
$remote_host
=
'
127.0.0.1
'
;
$remote_port
=
'
1550
'
;
#
创建套接字,指定服务器地址和端口
$socket
=
IO
::
Socket
::
INET
->
new(PeerAddr
=>
$remote_host
,
PeerPort
=>
$remote_port
,
Proto
=>
"
tcp
"
,
Type
=>
SOCK_STREAM)
or
die
"
Couldn't connect to $remote_host:$remote_port: $!\n
"
;
#
通过套接字发送字符串
print
$socket
"
Message from Client to Server!\n
"
;
#
读取服务器端响应
$answer
=
<
$socket
>
;
#
输出服务器端响应信息
print
$answer
;
#
关闭套接字
close
(
$socket
);
posted on 2009-05-06 16:33
大胖
阅读(409)
评论(0)
编辑
收藏
引用
所属分类:
Others
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
用C实现多态
printf
浮点数二进制表示
文件操作
字节对齐
函数调用方式
Big Endian & Little Endian 和位域
在TCL脚本中导入dll
在TCL命令行中调用C函数
Perl初学
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © 大胖