- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我想做的是理解套接字是如何工作的,以及如何制作一个简单的服务器以在服务器和客户端应用程序之间进行通信
我尝试使用 AS3 和名为 Red Tamarin 的项目来完成此操作(在控制台上运行 AS3 代码,但目前并不重要)
我设法创建了一个基本的服务器,它的功能基本上是这样的:
我的 actionscript 3 应用程序成功连接到服务器,然后出于测试目的,我决定从客户端不停地 write() 到服务器,只是为了确保服务器确实在获取数据,这样我就可以进一步添加更多功能..
但是服务器似乎根本没有得到任何进一步的信息..它似乎只响应连接/断开连接,但并没有真正倾听它们之间的任何其他信息..
我知道展示我的代码会更好,但现在我想知道我是否正确地处理了这个问题,我在互联网上阅读了它,看起来我是这样,但我来这里只是为了当然..
提前致谢!
编辑:我被要求提供我的一些代码,在这里,至少是最重要的部分
private var _connections:Array;
private var _socket:Socket;
private var _server:Client;
private var _running:Boolean;
private var _port:uint;
private var _address:String;
public function Server(address:String, port:uint)
{
_connections = [];
_address = address;
_port = port;
_running = false;
_socket = new Socket();
}
public function start():void {
_socket.bind(_port, _address);
_socket.listen(128);
_running = true;
_server = new Client(_socket);
_addClient(_server);
_start();
}
private function _start():void {
while (_running) {
_loop();
}
}
private function _addClient(client:Client):void {
_connections.push(client);
}
public function _loop():void
{
var i:uint;
var selected:Client;
var newconn:Socket;
for (i = 0; i < _connections.length; i++ ) {
selected = _connections[i];
if (selected.hasData()) {
if (selected == _server) {
//accept a new client connection
newconn = _socket.accept();
if (!newconn.valid){
//Invalid.
}
else {
//Add a new client
_addClient(new Client(newconn));
}
} else {
//Read data from clients
selected._socket.receive();
}
}
}
}
最佳答案
只是为了回答您的 listen()/accept() 问题,您只需在服务器初始设置时调用 listen() 一次。之后,您需要为每个要建立的新客户端连接执行 accept()(因为 accept() 将返回一个处理新客户端的套接字文件描述符)。
在客户端被accept()之后,你将使用客户端的套接字文件描述符来接收()或发送()任何数据。
关于c++ - 基本套接字服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15299926/
我使用下拉菜单提供一些不同的链接,但我希望这些链接在同一选项卡中打开,而不是在新选项卡中打开。这是我找到的代码,但我对 Javascript 非常缺乏知识 var urlmenu = docume
我对 javascript 不太了解。但我需要一个垂直菜单上的下拉菜单,它是纯 JavaScript,所以我从 W3 复制/粘贴脚本:https://www.w3schools.com/howto/t
我已经坐了 4 个小时,试图让我的导航显示下 zipper 接垂直,但它继续水平显示它们。我无法弄清楚为什么会发生这种情况或如何解决它。 如果有人能告诉我我做错了什么,我将不胜感激。我有一个潜移默化的
我正在尝试创建选项卡式 Accordion 样式下拉菜单。我使用 jQuery 有一段时间了,但无法使事件状态达到 100%。 我很确定这是我搞砸的 JS。 $('.service-button').
对于那些从未访问过 Dropbox 的人,这里是链接 https://www.dropbox.com/ 查看“登录”的下拉菜单链接。我如何创建这样的下 zipper 接? 最佳答案 这是 fiddle
我正在制作一个 Liferay 主题,但我在尝试设计导航菜单的样式时遇到了很多麻烦。我已经为那些没有像这样下拉的人改变了导航链接上的经典主题悬停功能: .aui #navigation .nav li
如果您将鼠标悬停在 li 上,则会出现一个下拉菜单。如果您将指针向下移至悬停时出现的 ul,我希望链接仍然带有下划线,直到您将箭头从 ul 或链接移开。这样你就知道当菜单下拉时你悬停在哪个菜单上。 知
我有一个带有多个下拉菜单的导航栏。因此,当我单击第一个链接时,它会打开下拉菜单,但是当我单击第二个链接时,第一个下拉菜单不会关闭。 (所以如果用户点击第二个链接我想关闭下拉菜单) // main.js
我正在尝试制作一个导航下拉菜单(使用 Bootstrap 3),其中链接文本在同一行上有多个不同的对齐方式。 在下面的代码中,下拉列表 A 中的链接在 HTML 中有空格字符来对齐它们,但是空白被忽略
我希望有人能帮我解决这个 Bootstrap 问题,因为我很困惑。 有人要求我在底部垂直对齐图像和其中包含图像的链接。 我面临的问题是他们还希望链接在链接/图像组合上具有 pull-right,这会杀
我正在构建一个 Rails 应用程序,并希望指向我的类的每个实例的“显示”页面的链接显示在“索引”页面的下拉列表中。我目前正在使用带有 options_from_collection_for_sele
我有以下 Bootstrap3 导航菜单 ( fiddle here )。我想设置“突出显示”项及其子链接与下拉列表 1 和 2 链接不同的链接文本(和悬停)的样式。我还希望能够以不同于 Highli
我对导航栏中的下拉菜单有疑问。对于普通的导航链接(无下拉菜单),我将菜单文本放在 H3 中,但是当我尝试对下 zipper 接执行相同操作时,箭头不在标题旁边,而是在标题下方。我决定用 span 替换
我是一名优秀的程序员,十分优秀!