小编Fer*_*han的帖子

服务器应该如何将数据推送到富客户端

我正在编写一个简单的会计程序,包括几个C#winform客户端和一个将数据读/写到数据库中的java服务器应用程序.其中一个要求是所有C#客户端都应该从服务器接收更新.例如,如果用户a从其C#客户端创建新发票,则其他用户应从其客户端看到此新发票.

我的经验主要是Web开发,我不知道用C#s客户端和Java servlet服务器满足这个要求的最佳方法是什么.

我最初的目的是使用Glassfish运行ActiveMQ并使用消息传递pub/sub方法,以便可以将更新推送到C#客户端.我将创建不同的主题,如newInvoice,cancelInvoice等,以区分消息类型.每条消息都只包含以JSON编码的对象.

但在我看来,这涉及到相当多的工作.鉴于我的用户群非常小(只有3或4个并发用户),在我看来应该有一些更简单的解决方案.(我不熟悉套接字编程:))

我知道这是一个客户端 - 服务器编程101个问题,但如果有经验的程序员可以指出我一些简单的解决方案,这将是很好的.

c# java client-server

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

如何通过Casbah将带有list的scala对象转换为MongoDBObject

我正在通过编写一个简单的应用程序来学习MongoDB和Casbah.当我尝试将具有列表成员的对象转换为MongoDB对象时,卡住了.这是我的课

case class BorrowerRecord( name: String, checkedOut: List[BookTag]) {
  require(!name.isEmpty)
  require(!checkedOut.isEmpty)
}

case class BookTag (subject: Subject, bookName: String) {
  require(!bookName.isEmpty)
}

case class Subject (name: String, category: Category) {
  require(!name.isEmpty)  
}  
Run Code Online (Sandbox Code Playgroud)

类别是一个具有2个案例类实现的密封特征,我打算像"Enum"一样使用它

sealed trait Category {
  def name: String
}

object Category {
  case object Computing extends Category { val name = "Computing"}
  case object Math extends Category { val name = "Math"}
}
Run Code Online (Sandbox Code Playgroud)

因此,BorrowerRecord的一个实例将保留一个人从图书馆检出的书籍,每本书都由BookTag对象识别.BookTag保存有关书籍,主题名称,类别等书籍的一些信息.

让我说我有一个BorrowerRecord并希望将它保存到MongoDB

val borrowOnToday = BorrowerRecord( "My Name", List( BookTag(Subject("J2EE", Category.Computing), "Head First Java"), 
                                                     BookTag(Subject("Linear …
Run Code Online (Sandbox Code Playgroud)

scala mongodb casbah

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

标签 统计

c# ×1

casbah ×1

client-server ×1

java ×1

mongodb ×1

scala ×1