java编程 利用UDP方式,客户端向服务器发送三边值,服务器,根据三边值计算三角形面积返回客户端创建两个类 分别添加main方法 一个作为server类一个作为client类
客户端先发送再接收服务器端先接收再发送
下面给你一个server和client的例子 你在基础上改一下就行了
client发送的时候发送三边值server接收后 写一个计算三角形面积的函数 把接收到的三边值传入函数计算出结果作为数据返回到client端
/**
*UDPServer
*/
import java.io.*;
import java.net.*;
class UDPServer{
public static void main(String[] args)throws IOException{
DatagramSocketserver = new DatagramSocket(5050);
byte[] recvBuf = new byte[100];
DatagramPacket recvPacket
= new DatagramPacket(recvBuf , recvBuf.length);
server.receive(recvPacket);
String recvStr = new String(recvPacket.getData() , 0 , recvPacket.getLength());
System.out.println("Hello World!" + recvStr);
int port = recvPacket.getPort();
InetAddress addr = recvPacket.getAddress();
String sendStr = "Hello ! I'm Server";
byte[] sendBuf;
sendBuf = sendStr.getBytes();
DatagramPacket sendPacket
= new DatagramPacket(sendBuf , sendBuf.length , addr , port );
server.send(sendPacket);
server.close();
}
}
/**
*UDPClient
*/
import java.io.*;
import java.net.*;
class UDPClient{
public static void main(String[] args)throws IOException{
DatagramSocket client = new DatagramSocket();
String sendStr = "Hello! I'm Client";
byte[] sendBuf;
sendBuf = sendStr.getBytes();
InetAddress addr = InetAddress.getByName("127.0.0.1");
int port = 5050;
DatagramPacket sendPacket
= new DatagramPacket(sendBuf ,sendBuf.length , addr , port);
client.send(sendPacket);
byte[] recvBuf = new byte[100];
DatagramPacket recvPacket
= new DatagramPacket(recvBuf , recvBuf.length);
client.receive(recvPacket);
String recvStr = new String(recvPacket.getData() , 0 ,recvPacket.getLength());
System.out.println("收到:" + recvStr);
client.close();
}
}
java 实现 UDP连接的源程序import java.io.*;
import java.lang.*;
import java.net.*;
public class uclient
{
private DatagramSocket cli;
private DatagramPacket pac;
private byte sb[];
private String sen;
public uclient()
{
Init();
}
public void Init()
{
try
{
//指定端口号,避免与其他应用程序发生冲突
cli=new DatagramSocket(10002);
sb=new byte[1024];
sen="UDP方式发送数据";
sb=sen.getBytes();
pac=new DatagramPacket(sb,sb.length,InetAddress.getByName("localhost"),10005);
cli.send(pac);
}
catch(SocketException se)
【udp接手段java代码 java基于udp的socket编程】{
se.printStackTrace();
}
catch(IOException ie)
{
ie.printStackTrace();
}
}
public static void main(String args[])
{
new uclient();
}
}
接收端数据:
//加以改进代码,可以改变接收方式
import java.io.*;
import java.lang.*;
import java.net.*;
public class userve
{
private DatagramSocket ser;
private DatagramPacket pac;
private byte rb[];
private String rev;
public userve()
{
Init();
}
public void Init()
{
try
{
ser=new DatagramSocket(10005);
rb=new byte[1024];
pac=new DatagramPacket(rb,rb.length);
rev="";
int i=0;
while(i==0)//无数据,则循环
{
ser.receive(pac);
i=pac.getLength();
//接收数据
if(i0)
推荐阅读
- 直播号变视频号了,视频号为什么直播突然没了
- 微管家怎么取消公众号,微信小管家怎么取消关联
- 极地世界公众号关注是什么,极地世界门票多少钱
- 韩国网络游戏美女,韩国网络游戏美女叫什么
- c语言中函数运算 c语言中的函数
- 初中生如何做农产品电商,初中生如何做农产品电商销售
- java代码快,java 代码简洁
- b站看直播模糊,bilibili直播模糊
- java明文解密源代码 java 加解密开源工具类