java网络编程:程序问题,接收不到数据

java网络编程:程序问题,接收不到数据,第1张

这是java网络编程里的UDPServer 和UDPClient 之间简单通信程序啊,等等我看看你的程序再说

你想要的是不是这种效果?

import javanet;

class UdpSend{

  public static void main(String[] args)throws Exception{

      //1创建udp服务,通过DatagramSocket对象

      DatagramSocket ds = new DatagramSocket(8888);//---这儿的端口号不要和UdpRece的一样

      //2确定数据,并封装成数据包。

      //DatagramPacket(byte[] buf, int length, InetAddress address,

int port)

          //构造数据报包,用来将长度为 length 的包发送到指定主机上的

指定端口号。

      byte[] buf = "udp shu ju lai le"getBytes();

      DatagramPacket dp =

          new DatagramPacket(buf,buflength,InetAddressgetByName

("16925420014"),10000);//----这儿的端口号保持与UdpRece一样

      //3通过Socket服务,将已有的数据包发送出去。通过send方法。

      dssend(dp);

      //4关闭资源

      dsclose();

  }

}

最后想说,先运行UdpRece 再运行UdpSend,反过来UdpSend要运行2遍

楼主,你可以去下载一个“VSPM虚拟串口”软件,安装好后,先不要运行,在“开始”菜单--》“程序”--》“VSPM”--》“虚拟串口互联插件”,里面有一个Readmetxt文件,按里面的要求去做,可以用一台PC模拟串口通信了。

另外在你的VB程序里,一个mscomm控件com=3,另一个com=4就可以进行数据的收发了。到时在真正的应用时,只需将这两个值改一下就OK 了。

有问题Hi我。

串口收发,要有通信协议。也就是什么时候开始接收,接收到指令后,转发什么数据。这个要知道,才可以写。而且使用不同的51单片机,其内部寄存器配置是不同的。

一般来说,过程如下:

1,配置串口参数、波特率等,开启串口中断;

void Init_UART()

{

}

2,中断函数里写中断响应函数,根据接收的指令或者数据,执行相应的动作;

程序一般为:

void UART_ISR() interrupt x using y

{

;串口中断处理函数

}

x - 单片机的C51中断号

y - 指定使用的当前工作寄存器组号(0-3 PSW中的RS0,RS1组合)

3,主程序

int main(void)

{

Init_UART();

while(1)

{

;//数据发送函数

}

}

如果用SQL数据库服务器就比较简单,但是非要用winsock来实现的话,只能参照下面:

客户端把查询字符(sql)串发给服务器,服务器根据查询字符进行查询,然后将记录集转换成数组发给客户端,客户端再将收到的数据转换为记录集显示。

Public Function RsToBin(Rs As Recordset) As Variant

Dim objStream As Stream

Set objStream = New Stream

objStreamOpen

objStreamType = adTypeBinary

RsSave objStream, adPersistADTG

objStreamPosition = 0

RsToBin = objStreamRead()

Set objStream = Nothing

End Function

Public Function BinToRs(vData As Variant) As Recordset

Dim objStream As Stream

Dim objRs As Recordset

Set objRs = New Recordset

Set objStream = New Stream

objStreamOpen

objStreamType = adTypeBinary

objStreamWrite vData

objStreamPosition = 0

objRsOpen objStream

Set BinToRs = objRs

Set objRs = Nothing

Set objStream = Nothing

End Function

第一个函数为记录集转换为数组,第二个位数据转换为记录集。

参考吴鉴鹰吧里面的资料,我也学习单片机,有吴鉴鹰单片机开发板(评价不错的一款单片机开发板),这样实验+理论,然后看视频学习会更好。有兴趣可以看下

串行口初始化编程格式:

SIO: MOV TMOD,#20H ;T1作波特率发生器

MOV TH1,#X ;定时初值选定波特率

MOV TL1,#X MOV PCON,#00H ;SMOD=0,就是波特率不增倍CLR TI ;清除发送中断标志SETB TR1 ;打开定时器1 2、发送程序

查询方式: TRAM: MOV A,@R0 ;取数据

MOV SBUF,A ;发送一个字符

WAIT:JBC TI,NEXT ;等待发送结束

SJMP WAIT NEXT: INC R0 ;准备下一次发送

SJMP TRAM3、接收程序

WAIT: JBC RI,NEXT ;查询等待

SJMP WAIT NEXT: MOV A,SBUF ;读取接收数据

MOV @R0,A ;保存数据

INC R0 ;准备下一次接收

SJMP WAIT 这个是用软件查询方法做的,没有设定数据校验。

以上就是关于java网络编程:程序问题,接收不到数据全部的内容,包括:java网络编程:程序问题,接收不到数据、急求!用VB编写USB虚拟串口数据接收程序、51单片机通过串口实现数据的发送与接收程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10073341.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存