问题列表 - 第29121页

我应该使用RMI进行Java多人游戏吗?

我正在建立一个Java的大富翁游戏,我希望它能够通过网络支持游戏(关键在于我和我在A的美国的朋友们可以玩).

网络是我尚未进入的整个编程领域,因此我发现很难确定如何完成它.总的来说,我认为正确的工作方式是拥有一个服务器应用程序,其中包含所有Monopoly游戏代码,然后是app客户端,只需一个带远程方法调用的GUI.

RMI对于这个项目来说是否过于复杂,还是最好的方式?你有什么建议或提示吗?

更新:这个游戏将是100%Java.所以不用担心客户需要安装Java.此外,获得有关使用RMI的一些提示会很棒.

java networking rmi

4
推荐指数
1
解决办法
4208
查看次数

如何使用Cocoa Touch发现网络设备?

我希望能够从运行iPhone OS 3.x(iPhone/iPad)的设备枚举本地网络上的设备名称.我已经尝试使用NSNetServiceBrowser来查找所有服务,如下所示:

[serviceBrowser searchForServicesOfType:@"_services._dns-sd._udp." inDomain:@"local."];
Run Code Online (Sandbox Code Playgroud)

这会返回结果但是当我尝试解析地址时,我会收到以下错误

NSNetServicesErrorCode = -72004;
NSNetServicesErrorDomain = 10;
Run Code Online (Sandbox Code Playgroud)

我查了一下错误,看来有一个不好的论点?

[kCFNetServiceErrorBadArgument
A required argument was not provided or was not valid.]
Run Code Online (Sandbox Code Playgroud)

如果我做一个服务特定搜索像 [serviceBrowser searchForServicesOfType:@"_ipp._tcp." inDomain:@""];分辨率工作正常.

那么,我是否在NSNetServiceBrowser的正确轨道上,或者是否有其他方法可以让我枚举连接到我网络的设备的名称?

iphone networking cocoa-touch objective-c

7
推荐指数
1
解决办法
4234
查看次数

为什么没有内存泄漏?

以下内容旨在获取一个可变长度的常量char,并以一种很好的格式打印出来以进行日志记录.我相信读者会就如何改进这方面提出建议,我对此表示欢迎.

令我困惑的是,我希望每次调用ToHexString()时都需要free()返回的静态char.相反,我认为没有任何内存泄漏.即使我使用内联函数,因此也不会将其返回值赋给变量.

我创建了一个简单的测试,在循环中调用此函数,每次使用不同长度的cString和nMaxChars参数.然后我看了VM的状态.我的测试程序和可用内存的内存分配从未改变.

在我看来,每次调用malloc并且没有空闲时它应该增加.

static char *ToHexString(const char *cString,int nMaxChars)
{
    static char *cStr;



    /*if (80>strlen(cString))
        nRawChars=strlen(cString);
    if (nMaxChars>nRawChars)
        nRawChars=nMaxChars;
    */
    if (nMaxChars==0)
        nMaxChars=80;

    printf("There are %i chars\n",nMaxChars);

    char *cStr1;
    char *cStr2;
    char *cStr3;
    int nLen=nMaxChars*6;
    cStr=calloc(nLen,sizeof(char));

    cStr1=calloc(10,sizeof(char));
    cStr2=calloc(nLen,sizeof(char));
    cStr3=calloc(nLen,sizeof(char));
    cStr1[0]='\0';
    cStr2[0]='\0';
    cStr3[0]='\0';
    int nC1=0;
    int nRowCnt=0;

    for (nC1=0;nC1<nMaxChars;nC1++)
    {
        ++nRowCnt;
        if (cString[nC1]==0x00)
            snprintf(cStr1,8,"[00] ");
        else
            snprintf(cStr1,8,"[%02x] ",(unsigned char)cString[nC1]);

        if ( (nRowCnt%8==0) )
        {
            snprintf(cStr3,nLen,"%s%s\n",cStr2,cStr1);
        }
        else
            snprintf(cStr3,nLen,"%s%s",cStr2,cStr1);

        snprintf(cStr2,nLen,"%s",cStr3);
    }
    snprintf(cStr,nLen,"%s",cStr3);
    free(cStr1);
    free(cStr2);
    free(cStr3);
    return(cStr);
}
Run Code Online (Sandbox Code Playgroud)

这是调用例程:

for (i=0;i<100;i++)
{ …
Run Code Online (Sandbox Code Playgroud)

c malloc free memory-leaks

4
推荐指数
1
解决办法
803
查看次数

Java界面问题

我有一个界面:

package com.aex;

import javax.jws.WebParam;

public interface IFonds {
    double getKoers();
    String getNaam();
    void setKoers(@WebParam(name="koers") double koers); }
Run Code Online (Sandbox Code Playgroud)

和班级:

    /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.aex;

import java.io.Serializable;
import javax.jws.*;

/**
 *
 * @author Julian
 */
@WebService
public class Fonds implements IFonds, Serializable {

    String naam;
    double koers;

    public double getKoers() {
        return koers;
    }

    public String getNaam() {
        return naam;
    }

public Fonds()
{
} …
Run Code Online (Sandbox Code Playgroud)

java interface nullpointerexception

1
推荐指数
1
解决办法
271
查看次数

SQL计数返回一个值(而不是总数)

我需要在此查询中"单独"获取nid.

SELECT count(nid) as total,nid FROM bird_countries b group by nid order by total asc`
Run Code Online (Sandbox Code Playgroud)

基本上我需要这样做

update table set field=1 where id in (the other query);
Run Code Online (Sandbox Code Playgroud)

现在,我得到了nid和nid的总数,但是找不到如何获得nid值来使用它们.

返回第一个查询的示例是:

total nid
1     323
1     2645
1     526
2     123
Run Code Online (Sandbox Code Playgroud)

所以我只想得到值323,2645,526.实际上我不想得到123因为它的计数是2.我需要在表上设置一个字段为1,用于数是1.

更新(第二个问题):我得到了一个很好的答案,但现在我应用它时出错了.我的疑问是

update bird_countries set season="1" where nid in (SELECT nid FROM bird_countries group  by nid HAVING count(*) = 1)
Run Code Online (Sandbox Code Playgroud)

和mysql说"你不能在FORM子句中指定平板电脑目标'bird_countries'进行更新." 嗯,有没有简单/快速的方法来做到这一点?我可以复制表bird_countries并将其用于更新(稍后放弃),但可能有一种更清洁的方式.谢谢!

mysql sql count

1
推荐指数
1
解决办法
189
查看次数

我如何用类对Arraylist进行排序?

我怎么能根据int值在arraylist下面.但是,如果您编译下面的代码错误:无效的操作异常...详细信息:无法比较数组中的两个元素.

namespace SortArray
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList otomobil = new ArrayList();
            otomobil.Add(new Otomobil() { Model = 2000, Marka = "mercedes", Renk = "K?rm?z?" });
            otomobil.Add(new Otomobil() { Model = 2002, Marka = "Opel", Renk = "Ye?il" });
            otomobil.Add(new Otomobil() { Model = 2009, Marka = "Audi", Renk = "Mavi" });

            otomobil.Sort();
            for (int i = 0; i < otomobil.Count; i++)
            {
                Console.WriteLine(otomobil[i].ToString());
            }

        }
    }

    public class Otomobil
    {
        public string Marka { …
Run Code Online (Sandbox Code Playgroud)

.net c# visual-studio-2008 visual-studio

0
推荐指数
1
解决办法
832
查看次数

setSize不影响按钮的大小

我有一个示例代码:

import java.awt.*;
import javax.swing.*;
import javax.swing.border.BevelBorder;

public class AWT extends JFrame {

    public static void main(String[] args) {
        final JFrame frame = new JFrame();
        frame.setPreferredSize(new Dimension(600, 450));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setBackground(Color.green.darker());

        Button btn_1 = new Button("Button 1");
        btn_1.setBackground(Color.green.darker());
        btn_1.setSize(40, 100);
        Button btn_2 = new Button("Button 2");
        btn_2.setBackground(Color.green.darker());
        btn_2.setSize(40, 100);
        Button btn_3 = new Button("Button 3");
        btn_3.setBackground(Color.green.darker());
        btn_3.setSize(40, 100);

        JPanel players = new JPanel(new GridLayout(1, 3));
        players.add(btn_1);
        players.add(btn_2);
        players.add(btn_3);
        players.setBackground(Color.green.darker());
        players.setPreferredSize(new Dimension(450, 80));

        JPanel game = new JPanel();
        game.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
        game.setBackground(Color.green);
        game.setPreferredSize(new Dimension(600, …
Run Code Online (Sandbox Code Playgroud)

java size swing awt

5
推荐指数
1
解决办法
1万
查看次数

如何制作django消息StackOverflow风格?

我想使用Django的Messages模块,但是,我希望我的消息能够持续到用户单击消息旁边的X,而不是在用户重新加载页面时消息消失.

我遇到两个问题:如何使消息的上下文处理器在访问后删除消息?一旦用户点击"删除"按钮(调用ajax调用),我以后如何显式删除数据库中的消息?

谢谢!

python django ajax django-users

11
推荐指数
2
解决办法
4725
查看次数

负填充顶部,固定高度,溢出隐藏

我怎么能只显示我的div的200px(高度),并跳过前30px(顶部)?

<div style="height:200px; overflow:hidden; padding-top:-30px">
A<br>B<br>C<br>D<br>E<br>F<br>G<br>
H<br>I<br>J<br>K<br>L<br>M<br>N<br>
O<br>P<br>Q<br>R<br>S<br>T<br>U<br>
V<br>W<br>X<br>Y<br>Z
</div>
Run Code Online (Sandbox Code Playgroud)

html css height overflow

2
推荐指数
1
解决办法
9105
查看次数

在哪里查找cocoa/cocoa touch中使用的日期格式说明符?

例如: [dateFormatter setDateFormat:@"yyyy-MM-DD HH:mm:ss"];

我猜有一个列表显示所有那些日期格式说明符,但找不到任何.NSDateFormatter文档似乎没有提到这些.

iphone cocoa cocoa-touch nsdateformatter

16
推荐指数
1
解决办法
6464
查看次数