-3

我想发送一组数据包,比如这个:

\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"
4

3 回答 3

5

我推荐你参考 Beej 的优秀教程:http: //beej.us/guide/bgnet/output/html/singlepage/bgnet.html

它不会像在 ruby​​ 中那么容易,但是您应该能够根据那里的示例来拼凑一些东西。

于 2013-08-06T08:05:21.513 回答
2

请参阅“Beej 套接字编程指南”。它简单易学。

于 2013-08-06T08:14:00.723 回答
1

如果你正在使用 winsock 库来编程套接字,你可以参考这里的链接,它有一个关于如何在特定端口上建立到主机的套接字连接的使用代码。

于 2013-08-06T08:28:04.587 回答