2013-01-23 2 views
0

저는 C# 응용 프로그램 중 하나에 동기화 기능을 추가하고자합니다. 동기화 옵션 중 하나를 사용하면 한 버전의 앱이 USB 케이블을 통해 다른 버전의 앱과 동기화 할 수 있습니다.USB를 사용하여 C# synch 응용 프로그램 작성

이 앱은 크로스 플랫폼이며 Mono를 사용하여 Windows 및 Mac에서 구현되지만 궁극적으로는 iOS 및 Android에도 포팅됩니다.

내가하고 싶은 일은 USB 케이블을 통해 데이터를 보내고받는 것뿐입니다.

가능한 소리가 들리니?

+0

여기에서 질문 할 질문의 유형에 관한 정보는 FAQ를 참조하십시오. –

+1

나는 여기서 어떤 연구도하지 않고 있다고 생각한다. 우리는 특정 오류가있는 사람들을 안내하기 위해 왔으며 '내가 무엇을해야합니까?' 질문. – Destrictor

+0

부정확하고, 나는 꽤 많은 조사를했지만, PC에서 PC 로의 PC 데이터 전송에 대해 논의한 것을 발견하지 못했습니다. 그렇기 때문에 가능한지 궁금합니다. –

답변

0

실현 가능? 확실한. 이것은 단지 직렬 데이터 전송 일뿐입니다. 포트 개폐 및 데이터 송수신을 처리해야하지만 매우 간단합니다.

public void SendDataOverSerial(string data) { 
    try { 
    SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One); 
    port.Open(); 
    port.Write(data); 
    } 
    finally { 
    port.Close();  
    } 
} 

분명히 당신은 데이터를 수신 그것이 그것으로 할 것이 무엇이든 한 파이프의 다른 쪽 끝에있는 무언가가 필요합니다.

+0

USB를 통해 문제가되고 있다고 생각합니다. 직렬 포트 인 COM1에 대한 예제가 나와 있습니다. USB 포트를 직렬 포트처럼 열 수 있다고 제안 하시겠습니까? –

+0

'port'가 null이거나 finally 블록에서 유효하지 않은 상태 인 경우, 예외를 던지므로이를해서는 안됩니다. 이 경우에는'using '을 사용하는 것이 더 좋다. –

+0

USB는 직렬 프로토콜이다. 그것은 COM이 아니지만 기본은 동일합니다. USB 용 com 라이브러리 중 하나 (http://code.google.com/p/csharp-usb-hid-driver/, http://www.icsharpcode.net/OpenSource/SharpUSBLib/default.aspx)를 선택하십시오. 그것을 코드화하십시오. – Heather

0

이것은 꽤 오래된 질문이지만, 최근에 이것을 달성하는 방법을 설명하는 블로그 게시물을 작성했습니다. iOS 앱이 USB 포트에 직접 액세스 할 수 없기 때문에 SharpUSBLib과 같은 것을 사용하기 만하면 작동하지 않습니다.

http://thecodewash.blogspot.com/2017/05/communicating-with-your-ios-app-over.html

귀하의 질문에 (그래서이 답변 그냥 링크 아니다)에 대답하기 위해, 예 확실히이 보통 아이튠즈의 일부로 설치됩니다 다중 데몬 (usbmuxd) 프로그램 USB를 이용하여 얻을 수있다 . 이 프로그램은 USB 케이블을 통해 iOS 장치에 소켓 연결을 만들 수 있으며, 다른 소켓과 마찬가지로 소켓 연결을 통해 통신 할 수 있습니다. 링크는 훨씬 더 자세하게 들어갑니다.

희망이 도움이됩니다.

관련 문제