socket文件不能通过普通的文件读写命令操作(比如说echo "xxx" > socket.file)它。因为它是在网络上面工作的。只能通过socket读写函数去操作它。
其实通过的linux命令socat和ncat可以去操作socket。
其中-U指定了该文件是Unix域socket文件类型,ncat实现了类似于cat命令的访问unix socket。
ncat -U /tmp/tbsocket1
ncat也可以通过映射socket文件到监听的端口上。那么通过curl可以发送请求到该监听端口,实现写操作。
# 映射tcp的8080流量到unix socket
ncat -vlk 8080 -c 'ncat -U /tmp/tbsocket1'
# 通过curl发起http请求访问
curl http://localhost:8080
也可以使用功能更强大的socat来实现。
# 映射8080/tcp 到unix socket
socat -d -d TCP-LISTEN:8080,fork UNIX:/tmp/tbsocket1
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。