윈도우-리눅스 간의 소켓통신으로 실시간 데이터 전송하는 방법 질문입니다.
글쓴이: gomnutu / 작성시간: 수, 2012/07/04 - 2:05오전
현재 윈도우에서 C#으로 구현한 UI에서 버튼(방향키)의 값을 소켓을 통해 리눅스(Arm 보드)로 보내려고 합니다.
먼저 윈도우와 리눅스 사이에서 소켓통신이 먼저 되는지 확인하는게 순서겠지요?
여기서의 문제는 호환이 되는냐의 문제인데 함수명 몇개 다른거 빼고는 차이점이 거의 없다고 하더라구요.
그다음이 문제인데 실시간으로 방향키의 값을 어떻게 보내줄 수 있나요?
해본거라고는 채팅 프로그램과 같이 "Hello"을 치고 엔터를 치면 보내지고 그런 형식밖에 모르겠습니다.
그리고 방향키의 값은 데이터가 사라지면 안되니깐 TCP통신을 사용해야 할것 같구요...
ps) C#에서 구현된 UI 소스안에 그대로 winsok을 작성하면 되는지요?
아니면 winsok을 짜고 UI를 작성해야하나요?
Forums:
음..
윈도즈와 리눅스 사이의 소켓통신은 당연히 되죠.
통신을 위한 리눅스쪽 프로그램은 되어 있나요?
방향키 값은 윈도우와 리눅스 프로토콜 을 정해서 하면 됩니다.
C# 은 잘 모르겠네요..
어떤 언어이든지...
C, C++, C#, Linux 든지 상관없이
windows에서 C#로 client 와 server를 만들어서 테스트 해보고
Linux에서 client 와 server를 만들어서 각각 서로 잘 되는지 확인이 되면
Windows의 client와 Linux의 server를 테스트 해보면 바로 돌아갈까요???
C# 책을 한권 사셔야 겠어요.
이건 그냥 궁금해서 해본거예요.
1. C# 윈도우 프로젝트를 생성
2. Form1.cs 선택
3. 우측 아래 Properties - 번개 아이콘 선택 - KeyDown 빈공간 더블클릭
그러면. 자동으로 Form1.cs에 Form1_KeyDown 함수가 생성됩니다.
코드를 보고 싶으면.
좌측 Solution Explorer 에서 Form1.cs 마우스 우측 선택 - CodeView 선택
코드 상에는 아래와 같이 입력합니다.
서버가 없을 경우. 에러가 납니다.
에러 처리방법은 try catch 를 사용하던데요. Socket에서 F1 누르고 msdn 샘플 참고해보세요.
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyValue == 65)
{
Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
IPAddress s = IPAddress.Parse("192.168.0.2");
c.Connect(new IPEndPoint(s, 1000));
// Send 'Hello World' to the server
byte[] buffer = Encoding.ASCII.GetBytes( e.KeyValue.ToString() );
c.Send(buffer);
MessageBox.Show( e.KeyValue.ToString() );
}
}
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
이런식으로 소켓을 먼저 기본적으로 만들어 놓은뒤
이런식으로 소켓을 먼저 기본적으로 만들어 놓은뒤 사이사이에 버튼 같은거 추가해서 사용하면 되는것인가요??
만드시는 분의 의도 따라 다릅니다.
저는 KeyDown을 버튼으로 사용했어요
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기