본문 바로가기

c#

[WCF] 분산서버 데모 더보기
[ASP.NET] 클라이언트가 멀티파트 보내고 서버가 받기 참고 : http://www.scripter.co.kr/entry/c-MultipartUpload 클라이언트 : string url = "http://someServerApp.aspx"; FileStream fs = File.Open(@"d:\a.jpg", FileMode.Open, FileAccess.Read); byte[] data = new byte[fs.Length]; fs.Read(data, 0, data.Length); fs.Close(); Dictionary postParam = new Dictionary(); postParam.Add("1stParam", "1stValue"); postParam.Add("2ndParam", "2ndValue"); postParam.Add("file", ne.. 더보기
[C# , AS3 , ETC] 한글 유니 코딩 조합 원리 //참고 원문 : http://uuzazuk9.egloos.com/906488 한글 조합 공식 : [{(초성)×588}+{(중성)×28}+(종성)]+44032 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Window.. 더보기
[C# 서버에서 AS3 클라이언트 비정상 종료 체크하기] TcpServer 에서 얻어온 client = server.AcceptTcpClient(); 그리고 client.Client.Connected 라는 속성이 있는데 , 이것은 swf 가 종료 되었을때 체크가 불가능 하다. 그래서 예전에는 [한번 연결 , 한번 송수신 , 바로 종료] 의 매커니즘으로 안전적인 연결을 보장했다. 참고 (http://www.scripter.co.kr/entry/TCPSocket-안전한-Socket-연결과-버퍼데이터를-설정한-데이터전송-C-As3) 하지만 계속 연결을 보장해야 하는경우도 있지 않을까... 역시나 문제는 연결이 지속가능한지를 체크하여 소켓 루프를 사용가능한 상태로 만들어야 하는데 방법이 마땅치 않았다. 구지 방법을 찾자면 서로가 지속적으로 소켓을 통해 [서버 : 잘있.. 더보기
[User32.dll] 윈도우 위치 지정 하기 Created with colorer-take5 library. Type 'csharp' using System; using System.Windows; using System.Diagnostics; using System.Runtime.InteropServices; using System.Threading; namespace ProcessTEST { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } //user32.dll 을 임포트 한다 [DllImport("user32.dll", SetLastError = true)] //MoveWindow 함수를 호출한다. internal static ex.. 더보기
[C# , SMTP]구글 SMTP 로 메일 보내기 Gmail 계정을 이용해 별도의 메일 서버 없이 E 메일을 발송할수가 있다. 아래는 이해를 돕기위해 변수 , 메서드를 나열하였다.(실 개발에서는 좀더 세련된 코드로...) Created with colorer-take5 library. Type 'csharp' private void SendMail() { // //필요한 정보 , id , pw 는 Gmail 계정을 입력한다. // String id = "****@gmail.com"; String pw = "****"; String from = "****@gmail.com"; String mailto = "totototo@nate.com"; String title = "TITLE2"; String htmlStr = "My First HeadingMy fi.. 더보기
[TwitPic 모듈] 트윗픽을 손쉽게 활용하자 사용법 소켓 IP : 로컬 (127.0.0.1) 소켓 포트 : 55667 명령전송 (헤더) : 256 바이트 헤더에 "$ID:"+$id+"$PW:"+$pw+"$USERID:"+$userId+"$TEXT:"+$text; 나머지 남는 바이트는 공백 " " 처리 를 하여 256 바이트를 채운후 256바이트 이후 JPG , PNG 포멧을 싣어 보낸다 제약사항 : 이미지파일이 4MB를 넘지 않을것, 같은 아이피로 시간당 500번 이상 포스팅 금지 * TEST Flash App 버튼 클릭시 테스트용 플래시 어플이 실행됨 Flash AS3 용 라이브러리 활용법 var target : FileReference = event.currentTarget as FileReference; var send : simple_twi.. 더보기
[SimpleFileWriter] AS3 에서 파일을 저장하자 기존 의 http://www.scripter.co.kr/entry/Simple-Text-Writer-V01-간편한-파일-쓰기-어플 를 업그래이드 해봤다. 예전에는 Text 만 되는 반면 이번꺼는 모든 As3 의 ByteArray를 죄다 기록할수 있다. 사용법 as3 package { import flash.display.BitmapData; import flash.utils.ByteArray; import jjongun.server.file_Socket_Server; import flash.display.Sprite; public class Main extends Sprite { public function Main() { var sp : Sprite = new Sprite(); sp.graphics.b.. 더보기
[TCPSocket] 안전한 Socket 연결과 버퍼데이터를 설정한 데이터전송 (C# <-> As3) 소켓사용을 꺼려하는 이유중 하나는 연결의 지속성을 보장하기가 까다롭기 때문이다. 또한 그것을 서로 스로스 체킹 하는 코드를 작성하기가 번거럽기 때문이기도 하다. 하지만 생각을 바꾸어 왜? 소켓을 항상 연결시켜 놔야 할까? 물론 실시간 데이터전송 같은경우 , 즉 마우스 좌표에 따라 무었을 지속적으로 움직여야 한다거나 하는 실시간적인 반응이 필요한 경우로 생각할수 있겠다. 하지만 데이터의 전송, 어느 순간 상태의 알림 등등의 경우에는 연결을 지속적으로 유지해야 할 필요가 없다. 본 모델은 이미 SimpleTextWriter (http://www.scripter.co.kr/entry/Simple-Text-Writer-V01-%EA%B0%84%ED%8E%B8%ED%95%9C-%ED%8C%8C%EC%9D%BC-%.. 더보기
[XNA , WPF] XNA 에서 코드레벨로 WPF 생성하기 필요한 레퍼런스는 System.Windows.Presentaion System.Xaml PresentationCore PresentationFramework 이고 필요한 using 은 using System.Threading; using System.Windows; using System.Windows.Controls; 되겠다. Created with colorer-take5 library. Type 'csharp'XNA , Game1.cs 중 일부 Texture2D tex; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); tex = Content.Load("logo2"); this.Window.T.. 더보기
[C#] 현재 윈도우의 Top 핸들 얻기와 익스플로러로 타입캐스팅 하기 이전글 [ http://www.scripter.co.kr/entry/C-활성윈도우-이름-과-핸들-알아내기-와-익스플로러-주소값-알아내기 ] 는 나름대로 의미가 있었지만 딱 필요한 익스플로러만의 정보를 알아내기 위해서 아래와 같이 심플한 코딩이 가능하다. private void getWin() { //[0] 현재의 윈두우 핸들 얻기 int handle = GetForegroundWindow(); //[1] SHDocVw 의 브라우저에서 현재부라우져들 검출 foreach (SHDocVw.WebBrowser wb in new SHDocVw.ShellWindowsClass()) { //[2] 각각의 브라우져 핸들과 현제Top의 핸들 검출 if (wb.HWND.Equals(handle)) { //[3] 검출된 브.. 더보기
[C#] 활성윈도우 이름 과 핸들 알아내기 와 익스플로러 주소값 알아내기 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; //[0] 필요한 DLL 추가 SHDocVw는 윈도우에서 찾기 using SHDoc.. 더보기
[Shell32.DLL] *.LNK , *.URL 분석하기 /**************************LNK파일 모양******************************/ L ? F? ?|邂栗S執네??|邂栗 t W P???i↖ +00? /E:\ l 1 ?? PROGRA~1 T 絶?뢒??* 퉠 P r o g r a m F i l e s ( x 8 6 ) X 1 ?? ARTHRO~1 @ 絶????* A r t h r o p o d d 2 t ?? ARTHRO~1.EXE H 絶????* U A r t h r o p o d . e x e d 4 c Kd끘 새 볼륨 E:\Program Files (x86)\Arthropod\Arthropod.exe ( ? 1SPS?XF퍵8C샜?쁬? ` 쟚 uf15-pc V솝??? $?^ V솝??? $?^ /***********.. 더보기
[new Thread in new Form] 새로운 쓰레드 안에 새로운 윈도우폼 무작정 쓰레드를 생성하여 폼을 생성한다면... Thread t2 = new Thread(sample); t2.Start(); ... private void sample() { Form n = new Form(); n.Show(); } 바로 폼이 깜빡 거리고 만다. 해당쓰레드가 바로 죽기 때문이다.새로운 폼은 새로운 어플리케이션으로 생성해야 한다. Thread t2 = new Thread(sample); t2.Start(); ... private void sample() { //Form n = new Form(); //n.Show(); Application.Run(new Form2()); } 주의할점은 Application.Run 앞에 모든 명령이 와야 한다.해당 쓰레드는 Application을 기점으로 .. 더보기
[AxShockwaveFlashObjects] AS3 in C# http://www.scripter.co.kr/entry/FlashExternal-c-안에-as3-AVM2-넣기 에서 같은주제를 아주 예전에 다루었지만 내용이 너무 부실하고, 철없었기 때문에 보강을 해야겠다. 사실 구글에 많이 올라와 있는 "AxShockwaveFlashObjects" 관련글들을 그대로 따라했다가는 이유도 모르는 FileNotFoundException 이 나올것이다. 그런 분들은 아래의 DLL 을 사용하기 바란다 . 코드를 살펴 보겠다. c# Created with colorer-take5 library. Type 'csharp' using System; using System.Collections.Generic; using System.ComponentModel; using System.. 더보기
[.Net Profiler] ANTS Memory Profiler 사용해보기 현재 6버전까지 나왔다. 지금은 5버전 을 테스트 해보겠다. 메뉴 항목에서 .net Executable 을 선택하고 대상을 찾고 스타트 버튼을 누르자 그러면 실행과 동시에 프로파일러가 실행되고 상단에 사진기 모양의 아이콘 , Take Memory SnapShot 을 클릭한다. 그러면 익숙한 프로파일링 장면이 나올것이다. 여기서 Grop By namespace 를 체크하면 좀더 편리하게 객체를 조사할수 있다. 그럼 한번 객체를 생성하여 보자 , 정말 프로파일링이 되는지 ... 객체를 생성하고 스냅샷을 찍었더니 정말 Texture2d 객체의 개수가 늘어났다. 그에 따른 메모리 바이트도 표시되고 이전 스냅샷과 비교하여 얼마나 늘었는지 줄었는지도 표로 금방 알수 있다. 화살표로 되어 뺀부분은 객체를 삭제 하였을.. 더보기
[LINQ _ XML] 간략한 LINQ to XML 사용법 샘플 XML http://www.samsung.com/us/boosted SAMSUNG MOV http://www.hyundai.com/kr/main.aspx HYUNDAI MOV http://www.lg.co.kr/ LG MOV C# [Linq _ XML] Created with colorer-take5 library. Type 'csharp' using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Xml.Linq; using System.Text; using System.Windows.For.. 더보기
[Zxing , QR Sample ] C# 에서 QR 라이브러리 사용하기 실버라이트 용 QR 라이브러리도 코드플렉스에 있지만.. 요걸 사용하고 싶었다 . 그런데 요놈은 c# 용 레퍼런스가 아무것도 없었다 . 자바와 ios 는 잘되어 있던데 ., 그래서 AS3 용 코드를 보고 어영부영 따라해 보았다. using System; using System.Drawing; using System.Windows.Forms; using AForge.Video.DirectShow; using AForge.Controls; using System.Collections; using com.google.zxing; using com.google.zxing.common; using com.google.zxing.qrcode; using trace; namespace Xing_TEST { public.. 더보기
[XNA on TUIO] CCV 1.4 <- TUIO -> XNA . CCV1.4 가 업데이트 됬다길래 , 성능도 시험 해볼겸사 , 해서 보니, 집에 있는 대충의 물건만으로도 멀티터치를 구현할수 있겠거니 하는 생각이 들었다. 웹캠이 필요했는데 , 마침 , 세계최강의 가정용 웹캠 마이크로 소프트 시네마 ! 를 ,, 적외선캠으로 만들기에는 너무 아까웠다 , 그래서 적외선 말고도 강력하게 대비를 줄수 있는 물건을 생각하다가, 한번도 열어보지 않았던 연봉계약서, 검은 봉투와 대충 공책 짤라서 만든 흰색 종이 사각형으로 카메라 설정 조금 만져주고 하니, 별 손색업는 멀티포인트 테스트 장비가 되었다. c# TUIO 라이브러리 : 간단한 tuio 클라이언트 사용법은 .. using System; using System.Collections.Generic; using System.L.. 더보기
[c#] 익명타입의 (열거)배열 생각에 시작은 이러하다 . 예를 들어 AS3에 Tweener 의 일반적인 사용법을 보면 Tweener.to( targetObject , 1 , { x : 100 , y : targetObject.y + 100 , rotation : 100 , scale : 1.2 }) ; Tweener.to( ColorMatrix , 2 , { r : 2.32 , g : 32.12 , b : –42.01 , a : 0.5 }); 대부분이 요러한 모양이다 . 첫째 줄을 해석하면 , “targetObject 를 1초 동안 x좌표를 100으로 , y 좌표를 100만큼더 , 회전을 100도 , 스케일을 20% 키워라.” 가 되겠고 , “둘째 줄은 컬러매트릭스를 2초동안 , 빨강을 2.32 , 초록을 32.12 , 파랑을 –42.. 더보기
[c#] 간단한 Generic List public class GenericList { private class Node { private Node next; private T data; public Node(T t) { next = null; data = t; } public Node Next { get { return next; } set { next = value; } } public T Data { get { return data; } set { data = value; } } } private Node head; public GenericList() { head = null; } public void Add(T t) { Node n = new Node(t); n.Next = head; head = n; } public IEnumera.. 더보기
[C# ,쉬운 이터레이터 만들기] Yield 키워드 간단히 개념잡기 public IEnumerable TestEnum1() { yield return "q1"; yield return "q2"; yield return "q3"; yield return "q4"; } public IEnumerable TestEnum2() { for (int i = 0; i 더보기
[socket] c# server , as3 client pc1 ( server ): c# (windows 7) pc2 ( client ) : AS3 (windows xp) c# code (partial) Created with colorer-take5 library. Type 'csharp' /* * SharpDevelop으로 작성��었습니다. * 사용자: jjongun * 날짜: 2010-02-09 * 시간: ��전 9:05 * * */ using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Threading; using System.Net.Sockets; using System.Net; using System.IO.. 더보기
[CustomEvent] C# 의 사용자 이벤트 작성 사용자 이벤트라 함은 이벤트 객체의 고유 속성을 사용할수 있어야 한다. AS3 에서 보면 addEventListener( e:CustomEvent , handler ) function handler(e:CustomEvent) { e.propertys; } 여기서 e의 속성을 사용하여야 한다는 말이 된다. 이것을 c#으로 구현 하여 보자, 우선 테스트 코딩을 보면 , 기존의 이벤트와 사용법이 같다. ( 먼저 덩어리를 보고 시작하자. ) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(st.. 더보기