草庐IT

Socket聊天

全部标签

java - Android Java Socket Socket TCPIP 打开连接

我需要通过TCPIP连接到服务器。我找到了如何做到这一点,但这些例子并没有建立永久连接,它只是连接发送数据并断开连接。我需要保持连接打开以来回传递多个包。例如,我习惯于请求一个连接,然后有一个进程来监听传入的数据。像这样:连接确认连接发送数据接收数据……回到#3关闭连接。关于这个或更好的示例代码,有什么我可以阅读的吗? 最佳答案 从现在开始(ICS+),要建立网络连接,您将需要使用AsyncTask(或处理程序),除非您愿意移除限制(不可取!)。默认情况下,网络连接受主Activity线程的限制。这个AsyncTask可以解决问题(

c# - 通过 .Net Socket 发送/接收为串行通信构建的消息

我们已经完成了一些基本的TCP通信,但有几个问题。我们正在与TCP服务器通信,其中交易流程描述如下:ThesenderinitiatesthetransactionbysendinganSTX(ASCII0x02)character,thenwaitsfortherecipienttoreplybysendinganACK(ASCII0x06)character.AfteranACKisreceived,thesendertransmitsafour-byte,unsigned,big-endianintegerrepresentingthesizeofthemessagepayloa

.net - Socket.BeginConnect 与 Socket.Connect

我想连接到Socket,但我发现了2种不同的连接方法:BeginConnect和Connect。有谁知道2之间的区别?BeginConnect是否也要求您调用EndConnect?套接字连接:http://msdn.microsoft.com/en-us/library/ych8bz3x.aspxSocket.BeginConnecthttp://msdn.microsoft.com/en-us/library/6aeby4wt%28VS.80%29.aspx使用一种方法比另一种方法有优势吗? 最佳答案 正如文档所述,Connect

C# TCP 聊天应用线程

我非常需要帮助。我实际上已经创建了一个程序(将使用)加密来回发送消息。加密部分工作正常,但是我对Threads还很陌生,而且我一辈子都无法让应用程序的客户端/服务器部分对齐。聊天程序是使用TCP的直接IP连接,因此每个主机都是一个客户端和一个服务器。当我调试时,我似乎遇到的问题是,当客户端尝试连接到服务器线程时,服务器线程未准备好,或者如果准备好,它不会放弃线程,以便客户端可以连接!我已经为此工作了几个小时,这非常令人沮丧。我希望有人能提供帮助!我在下面包含了我的代码。这是我的MainForm的代码片段,它构建了客户端和服务器方面:privatevoidInitializeCompon

c - 编程 C : getting error when binding address and port to socket

我真的不知道我做错了什么。我包括了所有好的图书馆。并在我的VPS和本地Ubuntu安装上对其进行了测试。我还查找了可以正常工作的同一程序的其他代码。但我不断收到“错误:无法将Internet地址绑定(bind)到套接字方法”消息。这是我用C代码编写的TCP服务器:#include#include#include#include#include#include#include//EnterThePortandtheIpAddresshere.#definePORT666#defineADRESS0//EntertheamountofMaximumPoepleenteringtheserv

sockets - 在 linux 中测试一个 socket 是否打开

我有一个linux服务器程序,它等待来自客户端的传入连接,并根据您发送的命令执行不同的连接。这是伪代码setup_socket();while(1){listen();newfile_descriptor=accept();intcommandread(newfile_descriptor,&command,sizeof(int));switch(command){...}}但是当我想用同一个客户端发送多个命令时,它会永远监听(因为没有建立新的连接)。有没有办法在收听新连接之前检查是否已经连接? 最佳答案 在你读取命令的地方循环怎么

c - 使用客户端服务器文本聊天提供音频支持

我已经在Linux上用c实现了多客户端-服务器文本聊天(使用TCP套接字)。现在我也想用它来支持音频文件。在经历堆栈溢出之后,我发现这可以通过从客户端向服务器发送一个文件,然后服务器向所有客户端发送相同的文件来实现。现在我的问题是服务器(和客户端)如何区分是接收普通文本数据还是(服务器)必须将接收数据打包成文件?此外,到目前为止,我所拥有的是客户端输入文本,服务器接收它。我如何为客户端提供发送文件或文本的选项。我正在考虑使用switchcase(比如1file,2fortext)但这不是一个好的界面吗? 最佳答案 这里有两个问题。对

c socket发送大文件时出现broken pipe错误

我正在尝试使用C套接字发送文件。我已经使用pthread创建了一个服务器。服务器根据缓冲区的大小读取文件,并将读取的大小发送给客户端。它适用于小文件,但当我尝试发送大文件时,如mp3文件(超过5MB),它就不能正常工作。客户端再次发送请求,管道坏了。我的服务器在OSX上运行,我使用浏览器作为客户端。Whenhtmlfilehasmp3resourceastag,mp3sendsOK.(Icalledlocalhost:9999/index.html)butwhenIcallmp3filedirectly(e.glocalhost:9999/music.mp3),brokenpipeer

c# - 在 IIS 中托管 TCP 聊天服务器

我正在查看this在.NET中使用TcpClient的基本聊天服务器/客户端教程。现在我希望将聊天服务器放在我的网络托管服务提供商上。那可能吗?我可以以某种方式在IIS中托管此服务器吗?我可能只是在Application_Start中启动它,但我认为我不允许像那样在任何端口上打开连接。我有什么选择?我之前使用WCF和net.tcp制作了一个聊天应用程序,但我的托管服务提供商尚未在其IIS服务器上激活net.tcp。所以现在我正在考虑使用TcpClient来代替... 最佳答案 我会避免尝试在共享主机场景中使用TCP。为什么不改用HT

Java - 需要两个线程来共享同一个类的简单聊天服务器

我正在尝试用Java制作一个简单的聊天服务器。现在我有一个线程接受tcp-ip连接、广告用户、删除用户和添加评论。我想删除所有在线时间为x且未与聊天服务器联系的用户。我打算有一个单独的线程,在不同的类中执行此操作。问题是接受连接的线程包含一个叫cUser的类来处理用户,而做超时的类是看不到这个类的。在c中我可以有一个全局的。我正在考虑让cUser类成员全部静态化,看起来有点乱。有没有一种干净的方法来做到这一点?泰德 最佳答案 如果访问该类是您的主要关注点,那么将它移到一个单独的文件中并将该类声明为public是一种选择。或者你可以在