約 2,841,702 件
https://w.atwiki.jp/wiki3_nab/pages/42.html
概要 CVSを使ってホームディレクトリ下のdotファイル等を管理する。 計画 ホームディレクトリ全体を対象にすると収集がつかなくなるので、一部のファイル/フォルダのみを対象とし、下記の通りに管理する。 CVSの管理対象とするファイルはフォルダ毎に整理し、~/cvs下にフォルダごと置く。---(A) CVSへの登録は(A)のフォルダ単位で行う (A)のフォルダ内のファイルを本来配置すべき場所には代わりにリンクを作成する---(B) (B)のリンクの作成はシェルスクリプトにしておく 手順 1)準備 cvsサーバー側の詳細は省略。今回はクライアント側の説明のみ。cvs自体はデフォルトで入っているのでインストール不要。環境変数CVSROOTをサーバーにあわせて設定しておく。ssh接続するならCVS_RSHも忘れずに設定する。 ~/.profileの記述例 # 実行ホストがCVSサーバーの場合のみローカルディレクトリを参照。 if [ `hostname` == "CVSサーバー名" ]; then export CVSROOT=/サーバー内の/フォルダ else export CVSROOT= ext 接続ユーザー名@CVSサーバーアドレス /サーバー内の/フォルダ export CVS_RSH=ssh fi; 2)管理対象とするファイル/フォルダをCVSに登録 ここでは、~/bin/内のファイルを管理対象にする、と仮定します。下記のコマンドでCVSサーバーに新規登録。今後はリポジトリ名でファイルをやりとりするので、後で思い出しやすい名前にしておく。ユーザ名とリリース名は適当。 cd ~/cvs/bin cvs import -m "コメント" リポジトリ名(登録名) ユーザ名 リリース名 例) cvs import -m "~/bin added" home.bin bin1 start 3)~/cvs以下にcheckoutする mkdir -p ~/cvs/ cd ~/cvs cvs co home.bin とりあえずこれでCVSに登録はできているのですが、~/bin/*と~/cvs/home.bin/*は名前は同じでも完全に別物です。 4)~/cvs/bin/*のリンクを~/binに作成する 下記のシェルスクリプトを作成し、実行権を与えておく。lncvs-home.bin.shを実行すると、~/cvs/home.bin/内のファイルへのリンクを~/binに作成します。~/bin内に同名ファイルがある場合は削除されますので注意。 ~/bin/lncvs-home.bin.sh #!/bin/sh lndir.sh ~/cvs/home.bin/ ~/bin/ ~/bin/lndir.sh #!/bin/sh ########## # define functions # error print ERROR_EXIT(){ echo "usage lndir.sh [-s|-h] fromdir todir" echo "lndir.sh make links recursively." echo "-s symbolic link (default)" echo "-h hard link" exit 2 } # make links recursively LINK_RECURSIVE(){ for i in $1/.* $1/*; do SRC=$i DST=`echo $i | sed "s#$SRCBASE#$DSTBASE#"` NAME=`echo $i | sed s#.*/## ` if [ -d $SRC -a $NAME != "CVS" -a $NAME != "." -a $NAME != ".." ]; then mkdir -p $DST LINK_RECURSIVE $i elif [ -f $SRC ]; then #if [ -e $DST ]; then rm $DST; fi #ln -s $SRC $DST $LN $SRC $DST fi; echo $SRC done }; ########## # initialize # getopt args=`getopt sh $*` LN="ln -fs " if [ $? -ne 0 ]; then ERROR_EXIT; fi set -- $args for i; do case "$i" in -s) # symbolic link LN="ln -fs " shift;; -h) # hard link LN="ln -f " shift;; --) shift; break;; esac done # set global variables if [ $# != 2 ]; then ERROR_EXIT; fi SRCBASE=`echo $1 | sed s#/$## ` DSTBASE=`echo $2 | sed s#/$## ` if [ $SRCBASE = $DSTBASE -o ! -d $SRCBASE ]; then ERROR_EXIT; fi; # debug print #echo "1st "$SRCBASE #echo "2nd "$DSTBASE #echo $LN #exit 1 ########## # main LINK_RECURSIVE $SRCBASE exit 0 5)home.bin回りの操作 他の端末で同じファイルを使いたい mkdir ~/cvs ~/bin cd ~/cvs cvs co home.bin cp ~/cvs/home.bin/* ~/bin ~/bin/lncvs-home.bin.sh 現在の状態をcvsサーバーに反映する cd ~/cvs/home.bin cvs ci CVSサーバーの最新版を現在の端末に反映する cd ~/cvs/home.bin cvs up 管理するファイルを追加する cp 追加するファイル ~/cvs/home.bin/ cd ~/cvs/home.bin cvs add 追加するファイル cvs ci 6)ドットファイルの管理 基本的な作業は上記と一緒。うちでは~/cvs/home.dotを作成し、管理したいファイルだけをこの中に置いている。~/cvs/home.dot/内のファイルのリンクを~/に作成するのは次のスクリプトを使用。 ~/bin/lncvs-home.dot.sh #!/bin/sh lndir.sh -h ~/cvs/home.dot/ ~/ chmod 710 ~/.fetchmailrc chmod 600 ~/.ssh/* chmod 700 ~/.mutt chmod 700 ~/.resources chmod 600 ~/.vnc/passwd chmod 700 ~/.gaim chmod 700 ~/.jpilot こんな風に、パーミッション設定等を変更する作業もこのスクリプトの中に書き込んでおく。 メモ、注意事項 X11付属のlndirは使ってない。なんでだったっけかな。理由は忘れた。 リンク作成はソフトリンクの方が好き。CVSでの管理対象になってるかどうか分かりやすいから。 問題点、課題 もっとスマートな方法があるような気がしてならない。
https://w.atwiki.jp/wiki3_nab/pages/39.html
概要 vncはネットワーク上のコンピューターをリモート操作するソフトウェア。sshのGUI版みたいな感じ。Windows, UNIX, Macなど様々なOS間で利用できる。ここではVNCクライアントについて説明。 手順/メモ 1)インストール クライアントのみをインストールする場合はWITHOUT_SERVERを設定する。 # cd /usr/ports/net/vnc # make -DWITHOUT_SERVER install clean 2)使い方 vncviewer 接続先のIPアドレス 接続先ではVNCサーバーを起動しておく 3)パスワード入力を省略する パスワードファイルを作成する vncpasswd ~/.vnc/passwd パスワード入力無しで接続する vncviewer -passwd ~/.vnc/passwd 接続先のIPアドレス コマンドが長いので、シェルスクリプトなりエイリアスなりに設定しておく。 注意事項 ion3で使うなら、シェルスクリプトにしてパスの通ったとこに置いとくのが使い易い。 環境 Panasonic CF-R3 FreeBSD 6.0-Release
https://w.atwiki.jp/dimness/pages/15.html
2010/2/13 サイトをお引越しします。 あやうくwikiへのログインパスを忘れそうですorz ▼新サイトURL http //cnm-client.appspot.com/
https://w.atwiki.jp/chuo713/pages/45.html
/* ポート番号9000を使用する */ #include sys/types.h #include sys/socket.h #include netinet/in.h #include netdb.h #include stdio.h #include stdlib.h #include unistd.h #include string.h #define NSTRS 1 /* 文字列の個数 */ #define STRMAX 60/* 文字列長さ */ char *strs[NSTRS]; extern int errono; void input_strs(){ int i; char e[]="\n"; for(i=0;i NSTRS;i++){ printf("str[%d] ",i); strs[i]=malloc(STRMAX); gets(strs[i]); strcat(strs[i],e); } } int main(int ac, char *av[]){ char c; FILE *fp; char hostname[64]; register int i,s; struct hostent *hp; struct sockaddr_in sin; printf(" client run\n"); /* まずホストネームを取得 */ printf("__connect server name ? "); gets(hostname); if((hp=gethostbyname(hostname))==NULL){ fprintf(stderr,"%s unknown host.\n", hostname); exit(1); } if((s=socket(AF_INET,SOCK_STREAM,0)) 0){ perror("clisent socket"); exit(1); } sin.sin_family=AF_INET; sin.sin_port=htons(9000); bcopy(hp- h_addr, sin.sin_addr,hp- h_length); if(connect(s, (struct sockaddr*) sin, sizeof(sin)) 0){ perror("client connect"); exit(1); } /* 送る文字列を作成する */ input_strs(); /* こちらから文字列をサーバーに送る */ for(i=0;i NSTRS;i++) send(s,strs[i],strlen(strs[i]),0); fp=fdopen(s,"r"); /* サーバーから文字列を読み取り、それを表示する */ printf(" text from server\n"); for(i=0;i NSTRS;i++){ while((c=fgetc(fp))!=EOF){ putchar(c); if(c== \n ) break; } } /* *ここで、通信を切断するために、close()を用いる */ close(s); exit(0); }
https://w.atwiki.jp/dimness/
- ▼Cnm.Client info ▼MHP2G キークエスト:村長 キークエスト:集会所 ▼SS ToHeart2 ひなまつり また違った未来 郁乃専属メイド1 郁乃専属メイド2 郁乃専属メイド3 郁乃専属メイド4 メニュー プラグイン紹介 ヘルプ
https://w.atwiki.jp/dimness/pages/40.html
サンクリ45合わせ ヤニげ屋本舗、いちまる屋、Cnm.Client合同本 指定:R指定 本の形式:オフセット ページ数:32P(仮) 部数:80 ポプルス⇒20118 ねこ⇒30800 方向性:イルファさんの性的教育指導 いくの、マルチ、このみ、(イルファ) リレー形式 入稿はやまc 8*3=24P 表裏、中*2=4P あとがき=3P 奥付=1P 合計32P
https://w.atwiki.jp/chuo713/pages/43.html
/* pp.215-217 */ /* connects to the local host at port 1234 */ #include sys/types.h #include sys/socket.h #include netinet/in.h #include netdb.h #include stdio.h #include stdlib.h #include unistd.h #include string.h #define NSTRS 3 /* 文字列の個数 */ #define STRMAX 10 /* * サーバに送る文字列を作成する */ char *strs[NSTRS]; extern int errono; void input_strs(){ int i; char e[]="\n"; for(i=0;i NSTRS;i++){ printf("str[%d] ",i); strs[i]=malloc(STRMAX); gets(strs[i]); strcat(strs[i],e); } } int main(int ac, char *av[]){ char c; FILE *fp; char hostname[64]; register int i,s; struct hostent *hp; struct sockaddr_in sin; printf(" client run\n"); /* * まずホストネームを取得 */ printf("__connect server name ? "); gets(hostname); input_strs(); /*gethostname(hostname,sizeof(hostname)); */ /* * つぎに、ホストのネットワークアドレスを取得 */ if((hp=gethostbyname(hostname))==NULL){ fprintf(stderr,"%s unknown host.\n", hostname); exit(1); } /* * 通信用ソケットを取得、このソケットはインターネット * ドメインで、ストリーム型(接続型)である */ if((s=socket(AF_INET,SOCK_STREAM,0)) 0){ perror("clisent socket"); exit(1); } /* * 接続先のネットワークアドレス情報を作成する * ここではポート番号として、9000を使用する * 整数値はネットワークバイトオーダーに直すことに注意 * データはbcopyを用いて、構造体に格納する */ sin.sin_family=AF_INET; sin.sin_port=htons(9000); bcopy(hp- h_addr, sin.sin_addr,hp- h_length); /* * 上記アドレスに接続を試みる。この接続が成功するためには * それまでにサーバー側で上記アドレスを取得し、listen() * システムコールを呼び出していなければならない */ if(connect(s, (struct sockaddr*) sin, sizeof(sin)) 0){ perror("client connect"); exit(1); } /* * こちらから文字列をサーバーに送る */ for(i=0;i NSTRS;i++) send(s,strs[i],strlen(strs[i]),0); /* * ソケットからデータを読み出すためのファイルポインタ */ fp=fdopen(s,"r"); /* *サーバーから文字列を読み取り、それをプリントする。 */ printf(" text from server\n"); for(i=0;i NSTRS;i++){ strs[i]=malloc(STRMAX); fgets(strs[i],STRMAX,fp); printf("%s",strs[i]); } /* *ここで、通信を切断するために、close()を用いる */ close(s); exit(0); }
https://w.atwiki.jp/cloneofminecraft/pages/43.html
ダウンロード Ver 0.0.1-Download プログラムファイル内にインストールします インストール後必ず Minecrush Unoffical Clientsフォルダ内のReadme.txt読んでくさい 読まないと起動できないと思います 更新履歴 更新履歴 更新確認はこちらで サイト
https://w.atwiki.jp/mrfrtech/pages/82.html
Market Scenario The Client Virtualization Market Growth is anticipated to grow by US$ 9.25 billion by 2023 rapidly growing at a CAGR of 12.6% during the forecast period. The global z is driven by increasing adoption of BYOD trends and work from home trends. These factors have helped shape the client virtualization market and are expected to boost the growth. Companies in the client virtualization market could also face challenges such as connectivity problems, unavailability of resources in some countries, and weak IT infrastructure. The details covered in the client virtualization market report cover all the aspects of the industry. Analysts studying the client virtualization market have also shared growth projections in the report and have suggested client virtualization market players to plan business strategies accordingly. COVID-19 Analysis The business impact of SARS-CoV-2 has been felt across diverse sections of the information technology industry, albeit at different levels. Companies in the technology sector that supply services for verticals like travel, retail, hospitality, and entertainment have noted a dramatic decrease in sales, while the firms that provide services related to remote worker solutions have observed the opposite. Client Virtualization Market ’s fate post pandemic has been relatively less grim compared to Education Services (ES) and Professional Services (PS) that are mostly dependent on components that are generally on-site. In a nutshell, COVID-19 impact on managed services has been fruitful, with the market growth enhanced than before. Given the prevalent lockdown situation, managed services vendors are now investing heavily in remote-centric worker solutions, which can make the market highly resilient in the coming years, even as the world is currently rushing to achieve a COVID-19 breakthrough. Request a Free Sample @ https //www.marketresearchfuture.com/sample_request/7695 Competitive Outlook The client virtualization market is supported by growing demand for faster network technologies and rise of 5G. The population growth around the world and increasing demand of client virtualization market based services and products also support the market growth. However, the client virtualization market growth can be affected due to too much reliance on conventional methods and underdeveloped infrastructure. The report covers all such details which will help companies in the client virtualization market to strengthen their business plan and improve their product portfolio. The client virtualization market research report also provides company profiles of major companies. The company profiles of many organizations operating in the client virtualization market report highlights crucial details like company size, revenue growth, and details of mergers and acquisitions taking place in the client virtualization market. New companies and established businesses can plan their strategies based on this data provided in the client virtualization market research report. Segmentation The global client virtualization market has been segmented based on industry vertical, organization size, and virtualization type. On the basis of vertical, the market for client virtualization is segmented based on presentation virtualization, application virtualization, desktop virtualization. Additionally, the market on the basis of organization size, is segmented into large enterprises and small medium-sized enterprises (SMEs). The global market for client virtualization is also covered based on the virtualization type segment which is further split into presentation virtualization, application virtualization, and desktop virtualization. Factors like 5G adoption, automation tools, and growing demand of client virtualization across different industries support the client virtualization market growth. The performance of the client virtualization market has also been studied for the past and current years. Additionally, the client virtualization market report provides analysis of these segments. The client virtualization market segmental analysis provided in the report offers major details about the client virtualization market based on the data and forecasts till 2023. Regional Analysis Companies in the client virtualization market are spread across the world. The client virtualization market report provides major information about regional markets of North America, Europe, Asia-Pacific (APAC), and the rest of the world. The North American client virtualization market has many companies across the United States, Canada, and Mexico. The client virtualization market of the Middle East, Africa, and other regions has also been studied by analysts. The regional analysis of the client virtualization market can be found in the market research report. Europe has companies in the client virtualization market across Germany, France, Spain, Italy, and the United Kingdom. A detailed analysis of the client virtualization market across India, China, and Japan in the Asia-Pacific region is also presented in the report. Table of Contents 1Executive Summary 2Scope of the Report 2.1Market Definition 2.2Scope of the Study 2.2.1Research objectives 2.2.2Assumptions Limitations 2.3Markets Structure Continued…. Browse Full Report Details @ https //www.marketresearchfuture.com/reports/client-virtualization-market-7695 List of Tables Table 1 Global Client Virtualization, By Region, 2020–2027 Table 2 North America Client Virtualization Market, By Country, 2020–2027 Table 3 Europe Client Virtualization Market, By Country, 2020–2027 Continued… List of Figures FIGURE 1 Global Client Virtualization Segmentation FIGURE 2 Forecast Methodology FIGURE 3 Porter’s Five Forces Analysis Of The Global Client Virtualization Continued… Similar Report B2B Telecommunication Market Information by Solution (Unified Communication and Collaboration), Deployment (Fixed, Mobile), Organization Size (Large, Enterprise), Application (Industrial, Commercial) and regions Trending #MRFR Report** https //ictmrfr.blogspot.com/2022/04/geofencing-market-companies-growth-with.html https //blogfreely.net/pranali004/telecom-expense-management-market-size-impressive-cagr-changing-business-scope https //postheaven.net/pranali004/financial-app-industry-impressive-cagr-changing-business-needs-scope-of https //market-research-future.tribe.so/post/openstack-service-market-research-impressive-cagr-changing-scope-of-current--6263de46791566c10c79891e https //www.scutify.com/articles/2022-04-24-infrastructure-as-a-service-industry-cagr-changing-business-scope-of-current-and-future-industry- About Market Research Future Market Research Future (MRFR) has created a niche in the world of market research. It is counted among the top market research companies that offer well-researched and updated market research reports and insights to businesses of all sizes. What sets us apart is our super-responsive team that offers quality work keeping clients abridged of the prospective challenges and opportunities in various markets. Our team is adept in their space as well as patiently listens to every client. Contact Market Research Future (Part of Wantstats Research and Media Private Limited) 99 Hudson Street, 5Th Floor New York, NY 10013 United States of America 1 628 258 0071 (US) 44 2035 002 764 (UK) Email sales@marketresearchfuture.com Website https //www.marketresearchfuture.com
https://w.atwiki.jp/red5server/pages/29.html
JavaをつかってつくったプログラムでFlashMediaServerやWowzaMediaServer、Red5等に接続させる便利なクラスがあります。 Red5のRTMPClientというクラスですが・・・ 参考URL のようにサンプルコードがあるんですが、ちと情報が古くてコンパイルできないので、とりあえずメモ代わりにコンパイルできる形に変更したものとコンパイルのコマンドを・・・ import java.io.File; import org.apache.mina.core.buffer.IoBuffer; import org.red5.io.IStreamableFile; import org.red5.io.ITag; import org.red5.io.ITagWriter; import org.red5.io.flv.impl.FLVService; import org.red5.io.flv.impl.Tag; import org.red5.io.utils.ObjectMap; import org.red5.server.api.event.IEvent; import org.red5.server.api.event.IEventDispatcher; import org.red5.server.api.service.IPendingServiceCall; import org.red5.server.api.service.IPendingServiceCallback; import org.red5.server.net.rtmp.Channel; import org.red5.server.net.rtmp.RTMPClient; import org.red5.server.net.rtmp.RTMPConnection; import org.red5.server.net.rtmp.codec.RTMP; import org.red5.server.net.rtmp.event.AudioData; import org.red5.server.net.rtmp.event.IRTMPEvent; import org.red5.server.net.rtmp.event.Notify; import org.red5.server.net.rtmp.event.VideoData; import org.red5.server.net.rtmp.message.Header; import org.red5.server.net.rtmp.status.StatusCodes; import org.red5.server.stream.AbstractClientStream; import org.red5.server.stream.IStreamData; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyRtmpClient extends RTMPClient { private static final Logger logger = LoggerFactory.getLogger(MyRtmpClient.class); private String saveAsFileName = "test.flv"; public static void main(String[] args) { String host = "localhost"; String app = "oflaDemo"; final String name = "IronMan.flv"; int port = 1935; final int duration = 10000; // milliseconds, -2 means until end of stream final MyRtmpClient client = new MyRtmpClient(); logger.debug("connecting, host " + host + ", app " + app + ", port " + port); IPendingServiceCallback callback = new IPendingServiceCallback() { public void resultReceived(IPendingServiceCall call) { logger.debug("service call result " + call); if ("connect".equals(call.getServiceMethodName())) { client.createStream(this); } else if ("createStream".equals(call.getServiceMethodName())) { Integer streamId = (Integer) call.getResult(); logger.debug("createStream result stream id " + streamId); logger.debug("playing video by name " + name); client.play(streamId, name, 0, duration); } } }; client.connect(host, port, app, callback); } private RTMPConnection conn; private ITagWriter writer; private int videoTs; private int audioTs; @Override public void connectionOpened(RTMPConnection conn, RTMP state) { logger.debug("connection opened"); super.connectionOpened(conn, state); this.conn = conn; init(); } @Override public void connectionClosed(RTMPConnection conn, RTMP state) { logger.debug("connection closed"); super.connectionClosed(conn, state); if (writer != null) { writer.close(); writer = null; } System.exit(0); } @Override public void createStream(IPendingServiceCallback callback) { logger.debug("create stream"); IPendingServiceCallback wrapper = new CreateStreamCallBack(callback); invoke("createStream", null, wrapper); } @Override protected void onInvoke(RTMPConnection conn, Channel channel, Header header, Notify notify, RTMP rtmp) { super.onInvoke(conn, channel, header, notify, rtmp); ObjectMap String, String map = (ObjectMap) notify.getCall().getArguments()[0]; String code = map.get("code"); if (StatusCodes.NS_PLAY_STOP.equals(code)) { logger.debug("onInvoke, code == NetStream.Play.Stop, disconnecting"); disconnect(); } } private void init() { File file = new File(saveAsFileName); FLVService flvService = new FLVService(); flvService.setGenerateMetadata(true); try { IStreamableFile flv = flvService.getStreamableFile(file); writer = flv.getWriter(); } catch (Exception e) { throw new RuntimeException(e); } } private class CreateStreamCallBack implements IPendingServiceCallback { private IPendingServiceCallback wrapped; public CreateStreamCallBack(IPendingServiceCallback wrapped) { this.wrapped = wrapped; } public void resultReceived(IPendingServiceCall call) { Integer streamIdInt = (Integer) call.getResult(); if (conn != null streamIdInt != null) { MyNetStream stream = new MyNetStream(); stream.setConnection(conn); stream.setStreamId(streamIdInt.intValue()); conn.addClientStream(stream); } wrapped.resultReceived(call); } } private class MyNetStream extends AbstractClientStream implements IEventDispatcher { public void close() { } public void start() { } public void stop() { } public void dispatchEvent(IEvent event) { if (!(event instanceof IRTMPEvent)) { logger.debug("skipping non rtmp event " + event); return; } IRTMPEvent rtmpEvent = (IRTMPEvent) event; if (logger.isDebugEnabled()) { logger.debug("rtmp event " + rtmpEvent.getHeader() + ", " + rtmpEvent.getClass().getSimpleName()); } if (!(rtmpEvent instanceof IStreamData)) { logger.debug("skipping non stream data"); return; } if (rtmpEvent.getHeader().getSize() == 0) { logger.debug("skipping event where size == 0"); return; } ITag tag = new Tag(); tag.setDataType(rtmpEvent.getDataType()); if (rtmpEvent instanceof VideoData) { videoTs += rtmpEvent.getTimestamp(); tag.setTimestamp(videoTs); } else if (rtmpEvent instanceof AudioData) { audioTs += rtmpEvent.getTimestamp(); tag.setTimestamp(audioTs); } IoBuffer data = ((IStreamData) rtmpEvent).getData().asReadOnlyBuffer(); tag.setBodySize(data.limit()); tag.setBody(data); try { writer.writeTag(tag); } catch (Exception e) { throw new RuntimeException(e); } } } } apache.minaのバージョンが2になったときにByteBufferが別のクラスになったんで、変更対応しただけです。 コンパイルコマンドは javac -classpath /home/red5/red5.jar /home/red5/lib/mina-core-2.0.0-RC1.jar /home/red5/lib/slf4j-api-1.5.8.jar /home/red5/lib/log4j-over-slf4j-1.5.8.jar /home/red5/lib/spring-context-2.5.6.jar /home/red5/lib/spring-beans-2.5.6.jar /home/red5/lib/spring-core-2.5.6.jar -d ./classes ./src/*.java こんな感じです。 dispatchEventが面白くて、これをXuggle-Xuggler-Red5のBroadcastStreamにぶちこんでやると 取得したデータを別のストリームとして流すことができます。