(java)在两台已知Ip的电脑间,使用UDP协议进行通讯
2012-12-17 19:34
429 查看
发送的代码:
Java中对使用UDP协议进行传输的数据,使用DategramSocket和DatagramPacket两个类来进行处理。基本上来说并不难用,查看API进行简单的试验就可以搞定。写这篇文章的主要意义是推荐一篇我认为非常好的文章。因为在发送汉字的过程中,出现了乱码问题,尝试了去解决。对UTF-8和GBK以及ISO-8859-1进行了转换,结果都失败了。因此对字符编码产生了一点兴趣。额,于是强烈推荐以下这篇文章,对编码有兴趣的可以去看看,写的很清晰而易懂。
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class SendMessageUseUDP { private DatagramSocket datasocket; private DatagramPacket datapacket; public void SendMessage(String message,String ip) throws Exception{ datasocket=new DatagramSocket(5000);//端口号 byte [] buf=message.getBytes("UTF-8"); datapacket=new DatagramPacket(buf,buf.length,InetAddress.getByName(ip),5000); datasocket.send(datapacket); } public static void main(String [] args) throws Exception{ SendMessageUseUDP s=new SendMessageUseUDP(); s.SendMessage("航母Style", "192.168.0.118"); } }接收的代码:
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; public class ReceiveMessageUseUDP { private DatagramSocket datasocket; private DatagramPacket datapacket; private int len=1024; public void reviceMessage() throws SocketException{ datasocket=new DatagramSocket(5000); while(true){ try{ byte [] buf=new byte[len]; datapacket=new DatagramPacket(buf,len,InetAddress.getByName("192.168.21.77"),5000); datasocket.receive(datapacket); byte [] bufer=datapacket.getData(); String message=new String(bufer,"UTF-8"); System.out.println(message); }catch(Exception e){ continue; } } } public static void main(String [] args) throws SocketException{ ReceiveMessageUseUDP r=new ReceiveMessageUseUDP(); r.reviceMessage(); } }
Java中对使用UDP协议进行传输的数据,使用DategramSocket和DatagramPacket两个类来进行处理。基本上来说并不难用,查看API进行简单的试验就可以搞定。写这篇文章的主要意义是推荐一篇我认为非常好的文章。因为在发送汉字的过程中,出现了乱码问题,尝试了去解决。对UTF-8和GBK以及ISO-8859-1进行了转换,结果都失败了。因此对字符编码产生了一点兴趣。额,于是强烈推荐以下这篇文章,对编码有兴趣的可以去看看,写的很清晰而易懂。
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
相关文章推荐
- java使用UDP协议进行服务器客户端通信
- Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信
- linux网络编程之IP协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)和TCP、UDP协议头结构总结
- C#使用TCP/IP与ModBus进行通讯
- 使用Java控制UDP协议
- 使用JAVA线程写的一个UDP简易通讯程序(三)
- java基础55 UDP通讯协议和TCP通讯协议
- 华数费用350元/年电视费,能够使用技术让所有用户华数接口进行打造成多用户电子自由协议通讯接口。
- c3a8 追踪电脑或手机(已知目标IP或mac)进行物理定位
- 用JAVA实现不能相互通信的两台电脑间进行增量备份
- C#使用TCP/IP与ModBus进行通讯
- 使用Java控制UDP协议
- 使用UDP协议的JAVA网络聊天程序
- 使用loadrunner Java Vuser协议进行性能测试时场景中报Error: Compilation process failed.解决方法
- JAVA中tcp/ip和UDP的使用
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
- Java简单工具:UDP通讯工具类(测试使用)
- Java使用UDP协议编写聊天程序
- java的UDP协议通讯的客户端
- java使用UDP来进行客户端和服务器端通信的简单例子