小编Sam*_*Sam的帖子

在Java中为自定义聊天室创建Server类和Client类

我的计划说明

我使用Java创建了一个聊天室服务器,它包含3个类,一个服务器类,一个用户类和一个聊天室类.我还创建了一个与服务器交互的客户端类.每次客户端连接到服务器时,服务器都会创建一个用户对象.每个用户对象跟踪用户所在的聊天室并运行一个侦听用户输入的线程.服务器对象循环遍历每个聊天室,以查看它是否在上周使用过.

问题

我想知道如何使用客户端对象实际连接到我的服务器.目前我打开了两个eclipse实例.我在一个中运行我的服务器程序,在另一个中运行我的客户端程序,但是我在控制台中都没有收到任何内容,这应该发生,因为服务器应该向客户端发送信息,然后客户端将在控制台上显示.然后,客户端上的人可以提供客户端将采取的输入并发送到服务器.

我想知道为什么现在什么也没发生,我可以做些什么改进.


主文件


Server.java

/*
 * Creates a server that can host up to 10 clients who can join chat rooms, post messages in chatrooms, and view posts made by other clients within the same chat room
 */
public class Server implements Runnable{
    protected ArrayList<User> userList; //A list of users, where each user is a client connected to the server
    protected LinkedList<Chatroom> chatRooms;   //A list of chatrooms where each client can post messages in, where messages can …
Run Code Online (Sandbox Code Playgroud)

java multithreading chat client-server server

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

Erlang:获取列表中每个元组的第一个元素

例如,如果我同时创建列表,我可以获得每个元组的第一个元素

[element(2,X) || X <- [{1,2},{3,4}]].
[2,4]
Run Code Online (Sandbox Code Playgroud)

这可以正常工作。我希望能够在尝试对其进行任何操作之前创建该列表

例如:创建列表

X = [{1,2,3},{3,4,5}]. 
[{1,2,3},{3,4,5}]
Run Code Online (Sandbox Code Playgroud)

然后获取每个元组的第一个元素

element(1,X).
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

** exception error: bad argument
     in function  element/2
        called as element(1,[{1,2,3},{3,4,5}])
Run Code Online (Sandbox Code Playgroud)

我希望这段代码给出与我的第一个例子相同的结果

erlang functional-programming tuples list-comprehension erl

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

从使用React和Webpack构建的网站的URL中删除.html扩展名

我试图让这个不是我的浏览器中显示“ https://mydomainname.com/index.html ”我的浏览器将只显示“ https://mydomainname.com/index ”。我的网站是4个网页,使用React和Webpack编写,将所有内容捆绑在一起,这样我就有4个.html文件(索引,联系人...)和4个.js文件具有相同的前缀(索引,联系人,...)。 )

我没有使用反应路由器。我真的不知道这是什么,但是很多其他答案都提到了它。当我使用react时,这是唯一的方法吗?

此答案仅提及针对非浏览器环境的react router,而未针对浏览器环境给出答案。

我见过的另一种解决方案使用

link.split('.html')[0];
window.history.replaceState( null, null, link );
Run Code Online (Sandbox Code Playgroud)

但是对我来说,访问“ mydomainname.com/About.html”之类的任何链接时都会收到以下信息

Cannot GET /About
Run Code Online (Sandbox Code Playgroud)

使用.htaccess的解决方案无效。也许是因为我在本地主机上运行它?我也听说不推荐将它用于React。

这是我的.htacess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301] 
Run Code Online (Sandbox Code Playgroud)

javascript .htaccess reactjs webpack

5
推荐指数
3
解决办法
552
查看次数

将 UIView 框架设置为等于来自不同超级视图的另一个视图的框架

我正在创建位于不同超级视图中的 UIView,但我想将框架设置为彼此相等。

在此输入图像描述

这是我到目前为止所尝试过的

let globalPoint = self.view.convert(subViewOfOuterView.frame.origin, to: nil)
let frame = CGRect(x: globalPoint.x, y: globalPoint.y, width: self.subViewOfOuterView.frame.width, height: self.subViewOfOuterView.frame.height)
subViewOfInnerUIView.frame = frame
Run Code Online (Sandbox Code Playgroud)

但我的观点最终看起来像这样

在此输入图像描述

frame ios swift

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

使用React,Webpack和Apache启用文本压缩

据说这个插件是应该做的。

我用npm安装了插件

npm install compression-webpack-plugin --save-dev
Run Code Online (Sandbox Code Playgroud)

并编辑了我的webpack.config.js文件,使其包含

const CompressionPlugin = require('compression-webpack-plugin');

...
  plugins: [
    new CompressionPlugin({
      filename: "[path].gz[query]",
      algorithm: "gzip",
      test: /\.(js|css)$/i,
    }),
...
Run Code Online (Sandbox Code Playgroud)

当我使用页面洞察力检查我的网页加载速度时,似乎无法识别我的gz文件,或者至少其中一个文件未被识别

在此处输入图片说明

这是我的主目录

在此处输入图片说明


这个问题与我的问题非常相似。我试图避免使用.htaccess,因为我听说某处它不是与react和webpack一起使用的最佳方法。也许这是错误的?

我尝试使用kushalvm的解决方案,但对我而言不起作用。

apache text-comparison gunzip reactjs webpack

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

将裸工作流博览会 React-Native 应用程序发布到之前在托管工作流中发布的 Google Play

我的应用程序之前是在世博会管理的工作流程中构建的。我使用expo ba. 因为 Android 应用程序要求您在添加应用程序内购买之前发布您的应用程序,所以我上传了这个 apk 并使用它发布了一个测试版。

我需要切换到裸露的工作流程以实现应用内购买。现在,在尝试创建构建以发布实际应用程序时,我遵循React Native 说明,但必须创建另一个上传密钥才能创建构建(这次是 aab)。

在播放控制台上,它指出

上传密钥:用于签署第一个版本的密钥。使用相同的密钥对每个后续版本进行签名,以验证它来自您。确保您的上传密钥安全。如果它丢失或受损,请联系开发人员支持以更换它。

我很确定这是一个问题,因为我使用了世博会给我的任何东西来签署原始 apk。我也无法删除我的原始应用程序并创建一个具有相同捆绑名称的新应用程序,因为一旦应用程序发布就无法删除。

android reactjs react-native expo

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

使用 gatsby-plugin-react-svg 导入 svgs 时收到“InvalidCharacterError:字符串包含无效字符”

我使用的是 font-awesome svg 图标,但我意识到它们可能会对我网站的 LCP 产生重大影响,因此我尝试替换它们。我进入我的 html 并复制 svg 代码,并将这些 svg 组件放入 svg 文件中。它们在我的 Photoshop 仿制品中以图像形式打开,所以我认为它们应该不错。

当我尝试使用它们将它们包含在我的页面中时

import FacebookIcon from '../images/svg/facebookF.svg'
import Email from '../images/svg/email.svg'

      <FacebookIcon />
      <Email /> 
Run Code Online (Sandbox Code Playgroud)

并将以下内容添加到我的gatsby-config.js(安装后gatsby-plugin-react-svg

{
  resolve: 'gatsby-plugin-react-svg',
  options: {
    rule: {
      include: "/src/images/svg/"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我收到错误

InvalidCharacterError: String contains an invalid character
Run Code Online (Sandbox Code Playgroud)

这个错误发生在我的 MRE 中,您可以在此Github repo上查看。在我的实际程序中,svgs 没有显示,但网页加载正常。

javascript svg reactjs gatsby

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

获取shell脚本错误的行号

当我运行脚本时,出现此错误

awk: fatal: cannot open file `text.txt' for reading (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

问题是该脚本大约有450行,很难真正找到所要讨论的位置

如果我能得到像这样的行号那就太好了

awk: fatal: cannot open file `text.txt' for reading (No such file or directory) at line ***
Run Code Online (Sandbox Code Playgroud)

或者如果我设置-x然后

awk: fatal: cannot open file `text.txt' for reading (No such file or directory)
Terminated at line ***
Run Code Online (Sandbox Code Playgroud)

unix bash shell scripting

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

将 bash 变量分配为两个单词字符串的列表

我想将一个 bash 变量分配为两个词段的集合。bash 变量类似于字符串列表,其中每个字符串是用引号括起来的两个单独的单词)。然后我尝试在 for 循环中使用此变量,以便每次迭代将循环变量分配给两个词段之一。

这是我的代码:

#!/bin/bash
variable='"var one" "var two" "var three"'
for i in $variable
do
   echo $i
done
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

var one
var two
var three
Run Code Online (Sandbox Code Playgroud)

但我现在得到的

"var
one"
"var
two"
"var
three"
Run Code Online (Sandbox Code Playgroud)

bash for-loop variable-assignment

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

Webpack:在移动 webpack/react 文件的位置后,npm start "Module not found: Error: Can't resolve ..."

我的项目正在运行,我能够在使用 Chrome 时在 localhost:8080 上查看我的网页。我试图学习一些东西,所以我将所有文件都放在一个名为“dir copy”的文件夹中,而不仅仅是 dir。当一切都如我所愿时,我将所有文件移回“目录”并关闭浏览器。当我npm start再次尝试运行时,我收到了这个错误输出


npm start 的输出

Jacob:Name_html Jacob$ npm start

> Name@ start Dir/Name/Name_html
> node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js

? ?wds?: Project is running at http://localhost:8080/
? ?wds?: webpack output is served from /
? ?wds?: Content not from webpack is served from Dir/Name/Name_html
? ?wdm?: Hash: a0d05c0fdc6ff660f346
Version: webpack 4.35.0
Time: 1985ms
Built at: 06/28/2019 3:29:15 AM
      Asset     Size  Chunks             Chunk Names
./bundle.js  908 KiB    main  [emitted]  main
Entrypoint main = ./bundle.js
[1] multi …
Run Code Online (Sandbox Code Playgroud)

javascript npm reactjs webpack babeljs

3
推荐指数
2
解决办法
8711
查看次数