このページは、Java言語とC言語のプログラムで通信する例を紹介しています。
Javaのクライアント(Windows)からCのサーバ(Linux)に接続して、「Hello World!!」という電文を受信して クライアント側に表示するプログラムの簡単なサンプルプログラムです。
※コードを簡単に見れるようにエラー処理などは記述しないようにしています。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
public class SampleClient {
private static String HOSTNEMAE = "192.168.100.1";
private static int PORT = 12345;
public static void main(String[] args) throws Exception{
// ストリームソケットを作成し、指定されたホスト・ポート番号に接続する
Socket socket = new Socket(HOSTNEMAE, PORT);
// レスポンスを受信する
InputStreamReader isr = new InputStreamReader(socket.getInputStream());
BufferedReader br = new BufferedReader(isr);
// 受信したデータを確認用に表示する
System.out.println(br.readLine());
// ソケットを閉じる
socket.close();
}
}
ここではjavacを使用してコンパイルする例を示します。
> javac SampleClient.java > dir SampleClient.class SampleClient.java
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define PORT 12345
int main() {
// ソケット作成
int sockOfLiten = socket(AF_INET, SOCK_STREAM, 0);
// ソケットにアドレスとポートをマッピングする
struct sockaddr_in addrOfSv;
addrOfSv.sin_family = AF_INET;
addrOfSv.sin_port = htons(PORT);
addrOfSv.sin_addr.s_addr = INADDR_ANY;
bind(sockOfLiten, (struct sockaddr *) &addrOfSv, sizeof(addrOfSv));
// ポートをListenする
listen(sockOfLiten, SOMAXCONN);
// 接続要求を受け付ける
struct sockaddr_in addrOfCl;
int len = sizeof(addrOfCl);
int sockOfCon = accept(sockOfLiten, (struct sockaddr *)&addrOfCl, &len);
// Listeningソケットを閉じる
close(sockOfLiten);
// データを送信する
send(sockOfCon, "Hello World!!\n", 15, 0);
// Connectionソケットを閉じる
close(sockOfCon);
return 0;
}
ここではgccを使用してコンパイルする例を示します。
$ gcc SampleServer.c -o SampleServer $ ls SampleServer SampleServer.c
まずはじめに、サーバプログラムをを起動します。
$ ./SampleServer
次に、クライアントプログラムを実行します。
> java SampleClient Hello World!!
※クライアントを実行するとサーバから受け取った「Hello World!!」という文字列が表示されます。
スポンサーリンク
サイト内のページ
言語
C・C++
/HTML
/Java
/JavaScript
/PHP
/シェルスクリプト
開発環境
Ant
/Burp
/Eclipse
/Fiddler
/gcc
/gdb
/Git
/g++
/JDK
/JMeter
/JUnit
/Teraterm
/ZAP
技術・仕様
Ajax
/CORBA
/Jakarta EE(旧称J2EE、Java EE)
/JNI
ライブラリ/Framework/CMS
bootstrap
/jQuery
/FuelPHP
/Lucene
/MyBatis
/Seasar2
/Spring
/Struts
/WordPress
Web API
Google Maps
ITインフラOSとミドルウェア
Linux
/Windows
/シェル
ActiveMQ
/Tomcat
/MariaDB
/MySQL
/Nagios
/Redis
/Solr
ITインフラセキュリティ
公開サーバーのセキュリティ
SI
ホームページの作り方
スポンサーリンク
関連サイト内検索ツール
zealseedsおよび関連サイト内のページが検索できます。
IPアドレス確認ツール
あなたのグローバルIPアドレスは以下です。
52.15.173.197
HTMLの表示色確認ツール
パスワード生成ツール
文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。
ここに生成されます。
スポンサーリンク
Copyright (C) 2007-2024 zealseeds. All Rights Reserved. Loarding…