charging socket是什么意思
charging socket的中文翻译
charging socket
充电插座
双语例句
1
The fool-proofing power battery charging socket is installed under the
original petrol filling cover, the driver could easily plug the socket to charge
battery without any mistake.
有防呆设计动力电池充电插座放置在原车加油孔盖之位置,使驾驶者方便插入插座让电池充电且不会弄错。
2
The charge of the electrical equipment is usually provided through charging
plugs and socket conducted.
电力设备的充电一般是通过插头和插座的连接来进行的。
C# BeginReceive()函数
在各种行为的回调函数中,所对应的socket都从输入参数的AsyncState属性获得。
使用(Socket)或者(StateObject)进行强制转换。
BeginReceive函数使用的容器为state,因为它需要存放传送的数据。
而其余接收或发送函数的容器为socket也可。
代码如下:
?
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?=?IPAddress.Parse("192.168.1.104");
????????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("")?>?-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;
????}
}如何关闭一个正在accept的ServerSocket
加入一个ServerSocket正在另一个线程堵塞ept,那如何停止ept或者关闭Socket?
Server socket 设置下超时
setSoTimeout
然后在Listen线程中用interrupt
其实直接close socket也可以,不过会抛出异常,我的意思是有什么比较安全而又简单的办法?难道要加一个标志,然后要关闭的时候把标志设为,然后连接listernSocket?这样也未免太麻烦了
JDK5.0里面新增了java.util.concurrent包(对于多线程的开发建议尽量使用这个包),下面是javadoc里面的样例代码
用法示例
下面给出了一个网络服务的简单结构,这里线程池中的线程作为传入的请求。
它使用了预先配置的 Executors.newFixedThreadPool(int) 工厂方法:
java 代码
class NetworkService implements Runnable {
private final ServerSocket serverSocket;
private final ExecutorService pool;
public NetworkService(int port, int poolSize)
throws IOException {
serverSocket = new ServerSocket(port);
pool = Executors.newFixedThreadPool(poolSize);
}
public void run() { // run the service
try {
for (;;) {
pool.execute(new Handler(ept()));
}
} catch (IOException ex) {
pool.shutdown();
}
}
}
class Handler implements Runnable {
private final Socket socket;
Handler(Socket socket) { this.socket = socket; }
public void run() {
// read and service request on socket
}
}
下列方法分两个阶段关闭 ExecutorService。
第一阶段调用 shutdown 拒绝传入任务,然后调用 shutdownNow(如有必要)取消所有遗留的任务:
java 代码
void shutdownAndAwaitTermination(ExecutorService pool) {
pool.shutdown(); // Disable new tasks from being submitted
try {
// Wait a while for existing tasks to terminate
if (!pool.awaitTermination(60, TimeUnit.SECONDS)) {
pool.shutdownNow(); // Cancel currently executing tasks
// Wait a while for tasks to respond to being cancelled
if (!pool.awaitTermination(60, TimeUnit.SECONDS))
System.err.println("Pool did not terminate");
}
} catch (InterruptedException ie) {
// (Re-)Cancel if current thread also interrupted
pool.shutdownNow();
// Preserve interrupt status
Thread.currentThread().interrupt();
}
}
内存一致性效果:线程中向 ExecutorService 提交 Runnable 或 Callable 任务之前的操作 happen-before 由该任务所提取的所有操作,后者依次 happen-before 通过 Future.get() 获取的结果。
java里显示,“类没有主方法”
没有main方法
public static void main(String[] args) {
// TODO Auto-generated method stub
}
云步云怎么样?云步云是创建于2021年的品牌,主要从事出售香港vps、美国VPS、日本VPS、香港独立服务器、香港站群服务器等,机房有香港、美国、日本东京等机房,目前在售VPS线路有CN2+BGP、CN2 GIA,香港的线路也是CN2直连大陆,该公司旗下产品均采用KVM虚拟化架构。目前,云步云提供香港安畅、沙田、大浦、葵湾、将军澳、新世界等CN2机房云服务器,2核2G5M仅72.5元/月起。点击进...
达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...
LOCVPS怎么样?LOCVPS是一家成立于2011年的稳定老牌国人商家,目前提供中国香港、韩国、美国、日本、新加坡、德国、荷兰等区域VPS服务器,所有机房Ping延迟低,国内速度优秀,非常适合建站和远程办公,所有机房Ping延迟低,国内速度优秀,非常适合做站。XEN架构产品的特点是小带宽无限流量、不超售!KVM架构是目前比较流行的虚拟化技术,大带宽,生态发展比较全面!所有大家可以根据自己业务需求...
handlersocket为你推荐
windowsmediawindows media player打开怎么设置暴力破解rar怎么暴力破解rar密码?快速且有效的listviewitemListView具有多种item布局云输入法QQ云输入法怎样进行中英文切换?sms是什么短信确认码是什么全局钩子求助:全局钩子是怎么回事啊?下载的游戏为什么会安装钩子?求大神帮助yui3yui 3 月9日 出的专辑的情报怎么查微信注册时间怎么查对方的微信号什么时候注册的泛微协同办公系统泛微oa怎么样?我想了解一下,有用过的同仁帮忙!发表下自己的观点(天津)泛微协同办公系统谁能告诉我泛微OA,协同性是体现在哪几个方面的?泛微有哪些优势??
域名服务dns的主要功能为 主机点评 eq2 网站挂马检测工具 中国电信测速网 最好的qq空间 申请网页 带宽租赁 密钥索引 美国代理服务器 asp简介 超低价 挂马检测工具 dns是什么意思 八度空间论坛 宿迁服务器托管 我的世界免费服务器 总线制报警主机 灵动:鬼影实录3 厦门电信智能提速 更多