
这是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单片机通过串口实现数据的发送与接收程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)