我想发送一组数据包,比如这个:
\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B
到我的计算机192.168.123.45
端口102
。
这是昨天写的Ruby中的一个小程序,它完成了这项工作。现在我想在C中尝试这样做,最终是为了拥有一个Windows可执行文件,但我被卡住了。
有人知道如何在C中使用这个Ruby程序吗?谢谢。
require 'socket'
myport = 102
myhost = '192.168.123.45'
mysock = TCPSocket.new(myhost, myport)
mysock.write [0x01, 0x02, 0x03, 0x04,
0x05, 0x06, 0x07, 0x08,
0x09, 0x0A, 0x0B].pack('C*')
puts mysock.read
mysock.close
puts "End of socket"
答案 0 :(得分:5)
我向您介绍Beej的优秀教程:http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html
它不会像红宝石那么容易,但你应该能够根据那里的例子拼凑一些东西。
答案 1 :(得分:2)
请参阅“Beej指南进行插座编程”。 它简单易学。
答案 2 :(得分:1)
如果您使用winsock库编程套接字,可以参考链接here,它有一个使用代码,介绍如何与特定端口上的主机建立套接字连接。