首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缺乏经验的java用户请求有关类的建议

缺乏经验的java用户请求有关类的建议
EN

Stack Overflow用户
提问于 2013-04-22 02:03:18
回答 1查看 91关注 0票数 1

我已经创建了一个发送单个数据报包的类,该数据包被另一个程序成功接收。

代码语言:javascript
运行
复制
import java.net.*;

public class UDPServer {
    public static void main(final String args[]) throws Exception {
        final String sendID = "level1";
        final int val = 2;
        final DatagramSocket serverSocket = new DatagramSocket(7474);
        byte[] sendData = new byte[1024];
        final InetAddress IPAddress = InetAddress.getLocalHost();
        final String sentence = sendID + new String(" ")
                + new Integer(val).toString();
        final String capitalizedSentence = sentence.toUpperCase();
        sendData = capitalizedSentence.getBytes();
        final DatagramPacket sendPacket = new DatagramPacket(sendData,
                sendData.length, IPAddress, 7470);
        serverSocket.send(sendPacket);
    }
}

我的问题是,我如何从另一个传递sendIDval的变量来运行这段代码。这最终将从游戏中发送信息到音频编程软件,以创建算法得分。

如果代码错误/格式不好,很抱歉,我不是一个程序员!

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-22 02:07:06

Juste创建一个带有两个参数的方法Send

代码语言:javascript
运行
复制
public class UDPServer {
    public void send(final String sendID, final int val) throws Exception {

            final DatagramSocket serverSocket = new DatagramSocket(7474);
            byte[] sendData = new byte[1024];
            final InetAddress IPAddress = InetAddress.getLocalHost();
            final String sentence = sendID + new String(" ")
                  + new Integer(val).toString();
            final String capitalizedSentence = sentence.toUpperCase();
            sendData = capitalizedSentence.getBytes();
            final DatagramPacket sendPacket = new DatagramPacket(sendData,
                  sendData.length, IPAddress, 7470);
            serverSocket.send(sendPacket);
     }
}

现在来自另一个班级

代码语言:javascript
运行
复制
UDPServer server = new UDPServer();
server.send("level1", 2);

在你的代码中添加一些注释:

避免使用首字母为大写的变量(如IPAddress)。通常,类以大写字母开头,而不是变量。

您可以简化:

代码语言:javascript
运行
复制
byte[] sendData = new byte[1024];
sendData = capitalizedSentence.getBytes();

通过

代码语言:javascript
运行
复制
byte[] sendData = capitalizedSentence.getBytes();

代码语言:javascript
运行
复制
final String sentence = sendID + new String(" ")
                  + new Integer(val).toString();

通过

代码语言:javascript
运行
复制
final String sentence = String.format("%s %d", sendID, val);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16134442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档