u3d 多线程 网络

开启一个线程做网络连接,和接收数据, 用event进行广播

using UnityEngine;
using System.Collections;
using System.Threading;
//using System.Threading.Tasks;
using System;
using System.Net;
using System.Net.Sockets;
using System.Collections.Generic;
using System.Linq;

public class Alpha
{

    public string v;

    public List<string> bytelist = new List<string>();

    public static event Action<String> handler;

    public void Beta()
    {
        GameNet gamenet = new GameNet();
        gamenet.start();
        gamenet.send("1");

        while(true){
            try{
                v = gamenet.conrecv();
                bytelist.Add(v);

                gamenet.send ("1");
            } catch(SocketException e){
                v = "socket closed";
                break;
            }
            if(handler != null){
                handler(bytelist[0]);
            }

            bytelist.Clear();

        }
    }
};

public class thread : MonoBehaviour {
    Alpha oAlpha = new Alpha();
    Thread oThread;

    void Start () {

        oThread = new Thread(new ThreadStart(oAlpha.Beta));
        oThread.Start();

        Alpha.handler += (s) => print ("client handler");
    }

    void Update () {

    }

    void OnDestory(){
        oThread.Abort();
    }
}
时间: 2024-10-28 17:45:06

u3d 多线程 网络的相关文章

基于Python的urllib2模块的多线程网络爬虫程序

1 m Queue import Queue 2 from gzip import GzipFile 3 from StringIO import StringIO 4 import time 5 import socket 6 class ContentEncodingProcessor(urllib2.BaseHandler): 7 """A handler to add gzip capabilities to urllib2 requests ""

crawler4j:轻量级多线程网络爬虫

crawler4j是Java实现的开源网络爬虫.提供了简单易用的接口,可以在几分钟内创建一个多线程网络爬虫. 安装 使用Maven 使用最新版本的crawler4j,在pom.xml中添加如下片段: XHTML 1 2 3 4 5 <dependency> <groupId>edu.uci.ics</groupId> <artifactId>crawler4j</artifactId> <version>4.1</version

java socket 多线程网络传输多个文件

http://blog.csdn.net/njchenyi/article/details/9072845 java socket 多线程网络传输多个文件 2013-06-10 21:26 3596人阅读 评论(1) 收藏 举报  分类: JAVA(158)  由于需要研究了下用 java socket 传输文件,由于需要传输多个文件,因此,采用了多线程设计.客户端每个线程创建一个 socket 连接,每个 socket 连接负责传输一个文件,服务端的ServerSocket每次 accept

iOS开发多线程网络———多线程概念及GCD

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(htt

iOS开发多线程网络———NSThread

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); iOS开发多线程网络———NS

crawler4j:轻量级多线程网络爬虫实例

crawler4j是Java实现的开源网络爬虫.提供了简单易用的接口,可以在几分钟内创建一个多线程网络爬虫. 下面实例结合jsoup(中文版API),javacvs 爬取自如租房网(http://sh.ziroom.com/z/nl/)租房信息. 1.maven导入相关包 1 <dependency> 2 <groupId>edu.uci.ics</groupId> 3 <artifactId>crawler4j</artifactId> 4 &

多线程网络服务

1.多线程网络服务 :多线程网络模式类似于多进程网络模式:不同的是:新客户端到来时,启动的是一个线程. 模型分析 2.代码实现 同样用处理整数运算来模拟多线程的并发处理 (1).utili.h #include<unistd.h> #include<stdio.h> #include<string.h> #include<stdlib.h> #include<sys/socket.h> #include<netinet/in.h> #

面试宝典2之多线程网络篇

1.开发中实现多线程的方案有哪些? 1> C语言的POSIX接口:#include <pthread.h> 2> OC的NSThread 3> C语言的GCD接口(性能最好,代码更精简) 4> OC的NSOperation和NSOperationQueue(基于GCD) 2.GCD 内部怎么实现的? 1> iOS和OS X的核心是XNU内核,GCD是基于XNU内核实现的 2> GCD的API全部在libdispatch库中 3> GCD的底层实现主要有

JAVA多线程网络爬虫的代码实现

因为项目需要,做了一个网络爬虫的小DEMO. 为实现高性能的网络爬虫,首先考虑采用APACE的HttpClient进行页面的采集和解析,HttpClient可以很方便的通过URL获得远程内容,例如一个小程序:     CloseableHttpClienthttp client = HttpClients.createDefault();     HttpGet httpget = newHttpGet("http://localhost/");     CloseableHttpRe