j***a c 语言 socket,j***a c 语言

kodinid 9 0

大家好,今天小编关注到一个比较意思的话题,就是关于java c 语言 socket问题,于是小编就整理了3个相关介绍j***a c 语言 socket的解答,让我们一起看看吧。

  1. java的socket怎么与c/c++通讯?(求一个简单Demo)?
  2. 西门子和上位机用SOCKET通讯怎么做?
  3. socket传输字符串与其他类型的数据,有什么区别?

j***a的socket怎么与c/c++通讯?(求一个简单Demo)?

亲,socket不是都一样嘛 , 如果j***a做客户端,用socket直接connetC++服务器ip与端口就ok,如果j***a做服务器,c++做客户端,c++的大概过程如下创建套接字,设置连接的ip与端口,调用connect,然后read/send数据,closesocket

西门子上位机用SOCKET通讯怎么做?

西门子是提供基于C语言的函数的,用TCP/IP socket 编程直接与PLC在以太网这层通讯,上位机不需要购买任何西门子的卡和软件,什么S7协议,TF等等大家知道的

java c 语言 socket,java c 语言-第1张图片-安济编程网
图片来源网络,侵删)

可以的,不过不支持公开的Modbustcp协议,西门子的是profinet协议。国产的矩形PLC,支持公开的Modbustcp主从协议。socket编程见附件文档

socket传输字符串与其他类型的数据,有什么区别

这个问题点非常好。但问的不是很明确。

如果没有事先的约定,你无法确定接收到的数据是文本图像还是音频视频。因此,必须事先约定Socket接收数据的格式。约定既可以***用标准协议(如HTTP),也可以用自己定义的协议。

java c 语言 socket,java c 语言-第2张图片-安济编程网
(图片来源网络,侵删)

以下通过我之前做的编程实类,分别说明:

SOCKET传输字符串还是其它数据类型,由你在编程的send()函数中决定,其数据类型为void*,void *为“无类型指针”,void *可以指向任何类型的数据,也就是说可以用字符串,也可以用的intdouble等。

TCP/IP,UDP传输协议,用socket编程并创建socket关键字实现网络间的通信

java c 语言 socket,java c 语言-第3张图片-安济编程网
(图片来源网络,侵删)

下图是的一个socket编程。

从其send,recv函数的格式看,与C/VC++的fread/fwrite()函数非常一致,只是把流换成socket套接字了:

以客户端为例。

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

编程实倒:

到此,以上就是小编对于j***a c 语言 socket的问题就介绍到这了,希望介绍关于j***a c 语言 socket的3点解答对大家有用。

标签: socket 西门子 数据