handlersocketjava里显示,“类没有主方法”

handlersocket  时间:2021-06-21  阅读:()

如何干净的实现Android/Java Socket 长连接通信

我们有时候有这种需求,即我们的android客户端要始终保持与服务端的连接,当服务端有任务或消息发送到android客户端的时候就发送,没有任务或消息的时候不发送但要保持这个连接,一旦有任务则开发发送,而我们的android客户端则要保持一个时刻接收任务或消息的状态。

。

。

这个时候我们通过socket来实现这种需求【当然你也可以采用ept,一旦有相应的socket到达,则启动一个线程去处理2::在线程中处理完返回给我们android客户端的消息或任务之后,要将这种结果表现在ui上,这个步骤方法就比较多了,例如你可以发一个广播来通知ui,或者你可以通过一个static的handler来处理

c#委托的回调 怎么个调?

最典型的应用,就是在异步调用时进行回调,看看MSDN上的例子吧。

using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading;

// State object for reading client data asynchronously public class StateObject { // Client socket. public Socket workSocket = null; // Size of receive buffer. public const int BufferSize = 1024; // Receive buffer. public byte[] buffer = new byte[BufferSize]; // Received data string. public StringBuilder sb = new StringBuilder(); }

public class AsynchronousSocketListener { // Thread signal. public static ManualResetEvent allDone = new ManualResetEvent(false);

public AsynchronousSocketListener() { }

public static void StartListening() { // Data buffer for ing data. byte[] bytes = new Byte[1024];

// Establish the local endpoint for the socket. // The DNS name of puter // running the listener is "". IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipAddress = ipHostInfo.AddressList[0]; IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);

// Create a TCP/IP socket. Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );

// Bind the socket to the local endpoint and listen for ing connections. try { listener.Bind(localEndPoint); listener.Listen(100);

while (true) { // Set the event to nonsignaled state. allDone.Reset();

// Start an asynchronous socket to listen for connections. Console.WriteLine("Waiting for a connection..."); ept( new AsyncCallback(eptCallback), listener );

// Wait until a connection is made before continuing. allDone.WaitOne(); }

} catch (Exception e) { Console.WriteLine(e.ToString()); }

Console.WriteLine(" Press ENTER to continue..."); Console.Read(); }

public static void eptCallback(IAsyncResult ar) { // Signal the main thread to continue. allDone.Set();

// Get the socket that handles the client request. Socket listener = (Socket) ar.AsyncState; Socket handler = ept(ar);

// Create the state object. StateObject state = new StateObject(); state.workSocket = handler; handler.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReadCallback), state); }

public static void ReadCallback(IAsyncResult ar) { String content = String.Empty; // Retrieve the state object and the handler socket // from the asynchronous state object. StateObject state = (StateObject) ar.AsyncState; Socket handler = state.workSocket;

// Read data from the client socket. int bytesRead = handler.EndReceive(ar);

if (bytesRead > 0) { // There might be more data, so store the data received so far. state.sb.Append(Encoding.ASCII.GetString( state.buffer,0,bytesRead));

// Check for end-of-file tag. If it is not there, read // more data. content = state.sb.ToString(); if (content.IndexOf("<EOF>") > -1) { // All the data has been read from the // client. Display it on the console. Console.WriteLine("Read {0} bytes from socket. Data : {1}", content.Length, content ); // Echo the data back to the client. Send(handler, content); } else { // Not all data received. Get more. handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReadCallback), state); } } } private static void Send(Socket handler, String data) { // Convert the string data to byte data using ASCII encoding. byte[] byteData = Encoding.ASCII.GetBytes(data);

// Begin sending the data to the remote device. handler.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), handler); }

private static void SendCallback(IAsyncResult ar) { try { // Retrieve the socket from the state object. Socket handler = (Socket) ar.AsyncState;

// Complete sending the data to the remote device. int bytesSent = handler.EndSend(ar); Console.WriteLine("Sent {0} bytes to client.", bytesSent);

handler.Shutdown(SocketShutdown.Both); handler.Close();

} catch (Exception e) { Console.WriteLine(e.ToString()); } }

public static int Main(String[] args) { StartListening(); return 0; } }

java里显示,“类没有主方法”

“类没有主方法”是由于程序入口main没有找到! 在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。

报错

A400互联1H/1G/10M/300G流量37.8元/季

A400互联是一家成立于2020年的商家,本次给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐。目前,商家推出香港cn2节点+cmi线路云主机,1H/1G/10M/300G流量,37.8元/季,云上日子,你我共享。A400互联优惠码:七折优惠码:0711A400互联优惠方案:适合建站,个人开发爱好者配置...

ATCLOUD-KVM架构的VPS产品$4.5,杜绝DDoS攻击

ATCLOUD.NET怎么样?ATCLOUD.NET主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解析、域名注册、SSL证书等海外网站建设服务。 其大部分数据中心是由OVH机房提供,其节点包括美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国以及新加坡。 提供超过480Gbps的DDoS高防保护,杜绝DDoS攻击骚扰,比较适合海外建站等业务。官方网站:点击访问ATCLOUD官网活...

恒创科技SonderCloud,美国VPS综合性能测评报告,美国洛杉矶机房,CN2+BGP优质线路,2核4G内存10Mbps带宽,适用于稳定建站业务需求

最近主机参考拿到了一台恒创科技的美国VPS云服务器测试机器,那具体恒创科技美国云服务器性能到底怎么样呢?主机参考进行了一番VPS测评,大家可以参考一下,总体来说还是非常不错的,是值得购买的。非常适用于稳定建站业务需求。恒创科技服务器怎么样?恒创科技服务器好不好?henghost怎么样?henghost值不值得购买?SonderCloud服务器好不好?恒创科技henghost值不值得购买?恒创科技是...

handlersocket为你推荐
instagram电脑版苹果macbook pro做摄影拍照后期有什么优势吗?为什么很多摄影师用它?和thinkpad W系列比呢?instagram电脑版iOS 有哪些优秀的照片处理软件youtube创始人比特币创始人到底是谁ico监管BTCB是什么?微信网页版登陆首页微信网页版怎么用?微信网页版怎么登陆?医院排队系统医院门诊排队叫号系统cc防火墙服务器里安全狗里的WEB防火墙是什么意思aviconverter跪求AVIConverter V1.0下载地址flex是什么Adobe是什么软件?元宝汇传奇续章开了几个区?
什么是域名解析 主机屋 hawkhost godaddy域名优惠码 免费博客空间 metalink 华为云盘 网页提速 湖南idc 测速电信 云服务是什么意思 杭州电信宽带 乐视会员免费领取 789电视剧网 免费赚q币 免费获得q币 ncp gotoassist ftp是什么东西 免费服务器 更多