
c和c#如何通过socket通信?
我用c在Linux上做了个TCP的socket服务器,现在想在windows上用c#建立一个客户端,但目前已知linuxc上socket发送的是char的数据,而c#上用...
我用c在Linux上做了个TCP的socket服务器,现在想在windows上用c#建立一个客户端,但目前已知linux c 上socket发送的是char的数据,而c#上用的是byte类型的数据,这不同类型的值能相互接收数据吗?
展开
5个回答
展开全部
能。C#的byte类型对应C中的unsigned char类型。
如果你在Linux端发送的是字符串,那么要先选择合适的编码(没记错的话是System.Text.Encoding里的东西),然后把byte[]转成string
如果你在Linux端发送的是字符串,那么要先选择合适的编码(没记错的话是System.Text.Encoding里的东西),然后把byte[]转成string
展开全部
c语言属于较低级语言,c#属于高级面向对象语言,如果要用两种语言基于socket 通信,那么需要考虑如下:
1必须懂两种语言的套接字。c的繁琐一些,c#的简单模块化一些。
2必须有server 和client ,这两种语言编写的程序分别作为server 和client 。
3不能混合编程,c程序是一个程序c# 也是一个程序,不能c和c#混合写成一个程序。
1必须懂两种语言的套接字。c的繁琐一些,c#的简单模块化一些。
2必须有server 和client ,这两种语言编写的程序分别作为server 和client 。
3不能混合编程,c程序是一个程序c# 也是一个程序,不能c和c#混合写成一个程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#的byte类型对应C中的unsigned char类型。
如果你在Linux端发送的是字符串,那么要先选择合适的编码(没记错的话是System.Text.Encoding里的东西),然后把byte[]转成string
如果你在Linux端发送的是字符串,那么要先选择合适的编码(没记错的话是System.Text.Encoding里的东西),然后把byte[]转成string
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通讯当然是没问题的,但是不同的系统要通讯,只能按字节标准来定义,不能按类型标准来定义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然,TCP/IP是统一的标准。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询