在C中创建TCP套接字

时间:2013-08-06 08:00:56

标签: c ruby sockets tcp network-programming

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

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

3 个答案:

答案 0 :(得分:5)

我向您介绍Beej的优秀教程:http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html

它不会像红宝石那么容易,但你应该能够根据那里的例子拼凑一些东西。

答案 1 :(得分:2)

请参阅“Beej指南进行插座编程”。 它简单易学。

答案 2 :(得分:1)

如果您使用winsock库编程套接字,可以参考链接here,它有一个使用代码,介绍如何与特定端口上的主机建立套接字连接。