首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java套接字到C套接字

Java套接字到C套接字
EN

Stack Overflow用户
提问于 2014-01-24 09:07:24
回答 1查看 175关注 0票数 1

有人能帮我把这段Java代码翻译成C语言吗?我试过很多不同的方法,但都没有成功。我在缓冲区部分有问题,我不知道如何存储数据,然后使用C套接字发送它。

代码语言:javascript
复制
SocketChannel socketChannel = SocketChannel.open();
socketChannel.connect(new InetSocketAddress("127.0.0.1", 6633));

ByteBuffer buf = ByteBuffer.allocate(48);
buf.clear();

byte version = 0x01;
short length = 8;
byte type = 0;

buf.put(version);
buf.put(type);
buf.putShort(length);
buf.putInt(12356);

buf.flip();
socketChannel.write(buf);

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-03-28 17:11:44

代码如下:

代码语言:javascript
复制
SOCKET sock = socket(PF_INET, SOCK_STREAM, 0);
struct sockaddr_in thataddr;
thataddr.sin_addr.s_addr = inet_addr("127.0.0.1");
thataddr.sin_family = AF_INET;
thataddr.sin_port = htons(6633);
connect(sock, (LPSOCKADDR) &thataddr, sizeof(thataddr));
typedef struct SendThis    
{
    unsigned char version;
    unsigned int length;
    unsigned char type;
};
SendThis sendThis;
sendThis.version = '1';
sendThis.length = 8;
sendThis.type = 0;
send(sock,(char *)&sendThis,sizeof(SendThis),0);

它没有经过测试,还可以在需要的地方添加错误检查。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21322537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档