이 프로그램은 TCP/IP 소켓 프로그래밍 C#버전 책에서 참조한 내용입니다.

호스트 정보를 반환 하는 C# Console 프로그램입니다.
using System;
using System.Net;
using System.Net.Sockets;

class IPAddressExample {
static void PrintHostInfo(String host) {
try {
IPHostEntry hostInfo;

// 호스트 또는 주소에 대한 DNS 해석한다.
hostInfo = Dns.GetHostEntry(host);

// 호스트의 기본 호스트명을 출력한다
Console.WriteLine("\tCanonical Name : " + hostInfo.HostName);

// 이 호스트에 대한 IP 주소들을 출력한다
Console.Write("\tIP Addresses: ");
foreach (IPAddress ipaddr in hostInfo.AddressList) {
Console.Write(ipaddr.ToString() + " ");
}

Console.WriteLine();

// 이 호스트의 앨리어스들을 출력한다.
Console.Write("\tAliases: ");
foreach (String alias in hostInfo.Aliases) {
Console.Write(alias + " ");
}

Console.WriteLine("\n");
} catch (Exception) {
Console.WriteLine("\tUnable to resolve host: " + host + "\n");
}
}

static void Main(string[] args) {
// 로컬 호스트 정보를 취합하고 출력
try {
Console.WriteLine("Local Host:");
String localHostName = Dns.GetHostName();
Console.WriteLine("\tHost Name: " + localHostName);

PrintHostInfo(localHostName);
} catch (Exception) {
Console.WriteLine("Unable to resolve local host\n");
}

// 커맨드 라인에서 입력한 호스트들에 대한 정보를 취합하고 출력
foreach (String arg in args) {
Console.WriteLine(arg + ":");
PrintHostInfo(arg);
}
}
}

.NET 2.0 에서는 다음과 같다
Dns.Reslove 대신 Dns.GetHostEntry Method를 쓴다.

Dns.GetHostEntry Method (String) 
Note: This method is new in the .NET Framework version 2.0.
Resolves a host name or IP address to an IPHostEntry instance.


도구 상자에서 일반 콤포넌트에서 마우스 우측을 클릭후 항목선택을 클릭한다음
다음과 같은 화면에서 WindowsMediaPlayer 콤포넌트를 선택하여 사용할 수 있게 한다.
그런후 폼에 Windows Media Player 컨트롤을 가져다 놓고 다음과 같이 작성한다
private void Form1_Load(object sender, EventArgs e)
{
string MediaPath = @"D:\My Documents\음악(Music)\POP\Linkin Park - Run Away.mp3";
WindowsMediaPlayer.settings.autoStart = false;
WindowsMediaPlayer.URL = MediaPath;
}


'C#' 카테고리의 다른 글

호스트 정보를 반환하는 프로그램  (0) 2006.05.26
마소의 강좌  (0) 2006.05.18
C# 기초 강좌 추천 사이트  (0) 2006.04.25
처음 만들어본 C# 응용프로그램  (0) 2006.04.16
C++ Faq Lite  (0) 2006.04.14
쉬자.. 푹쉬자..

주말까지 하면 3일 쉬는구나.
메뉴의 Component -> Install Packages -> Add 클릭하여
설치된 Delphi BIN폴더에서 dclqrt70.bpl 을 선택하여 추가하세요.

유닉스 음이온 스탠드[UNI-3028]


인터파크에서 샀는데 2주만에 받게 되었다.
집에 있는 시간이 주말밖에 없는데 주말에 받을수 있게 주문했더니
파는곳에서 하루 늦게 보내는 바람에 늦게 받게 됐다.

형광등보단 확실히 낳은것 같다.
저녁에 책읽을때 쓸려고 샀는데
확실히 눈이 덜 피곤한것 같음

디자인은 엄청 이쁘다.

'자유' 카테고리의 다른 글

php에서 특정 페이지로 보내기  (2) 2006.05.29
낼 어린이날  (0) 2006.05.04
술과 한잔했던 회...  (0) 2006.04.26
하나라도 적어 보자  (0) 2006.04.25
전자레인지 구입  (0) 2006.04.17
친구 디카 사고 난후 횟집에서 잠시 한잔..ㅎ

아래는 회~

'자유' 카테고리의 다른 글

낼 어린이날  (0) 2006.05.04
스탠드 장만  (0) 2006.04.27
하나라도 적어 보자  (0) 2006.04.25
전자레인지 구입  (0) 2006.04.17
데비안 설치후 X윈도우 설치후 스샷  (0) 2006.04.16
Server (받는쪽)

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/stat.h>

struct msgbuf {
long msgtype;
char buf[512];
};

int main(int argc, char **argv)
{
key_t key_id;
int i;
struct msgbuf mybuf;

key_id = msgget((key_t)1234, IPC_CREAT|0666);
if(key_id == -1) {
perror("msgget error : ");
exit(0);
}

while(1) {
if(msgrcv(key_id, (void *)&mybuf, sizeof(struct msgbuf), 1, 0) == -1) {
perror("quit : ");
exit(0);
}
printf("Msg Recv : [%d] [%s] \n", mybuf.msgtype, mybuf.buf);
}

return 0;
}


Client (보내는쪽)

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/stat.h>
#include <fcntl.h>

struct msgbuf {
long msgtype;
char buf[512];
};

int main(int argc, char **argv)
{
key_t key_id;
int i, n;
struct msgbuf mybuf;
int fd_r;

int packet_size;

int total_size = 100000000;
int loop_size;

key_id = msgget((key_t)1234, IPC_CREAT|0666);

if (key_id == -1) {
perror("msgget error : ");
exit(0);
}

mybuf.msgtype = 1;

memset(mybuf.buf, 0x00, sizeof(mybuf.buf));


printf("Queue에 전송할 메시지를 입력하세요. -> ");
gets(&mybuf.buf);

if (strlen(mybuf.buf) > 0) {
if (msgsnd(key_id, (void*)&mybuf, sizeof(struct msgbuf), 0) == -1) {
perror("msgsnd error : ");
exit(0);
}
printf("Queue에 메시지 전송 성공.\n");
} else {
printf("Queue에 메시지 전송이 실패 했습니다.\n");
printf(" 입력한 문장을 확인해 주세요. \n");
exit(0);
}

return 0;
}
프로세서간의 통신 방법중 하나인 IPC[Message Queue]에 대한 간단한 샘플이다.

위에 프로그램은 Server 측에서 Key_id (1234) 에 Queue를 대기 하고 있다가
Client 쪽에서 KeyIn으로 받은 데이타를 Queue로 보내준다.

'아무거나' 카테고리의 다른 글

현재 폴더의 위치에서 명령 프롬프트 열기  (0) 2006.05.28
델파이 7.0 에서 QuickRep 설치 하기  (1) 2006.05.02
Eclipse 설치후 사용..  (0) 2006.04.25
공개 뉴스 그룹  (1) 2006.04.14
윈도우 정품 인증팁 #2  (2) 2006.04.14

+ Recent posts