注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
不好意思,想问下大家,我在用UDP的Java程序实现 client - server 的交流,
本地电脑,局域网,自己call 自己,已经成功了。
Client端 代码如下:
************************************************************
- import java.net.*;
- import java.io.*;
- public class UDPClient_1 {
- public static void main(String args[]) throws IOException {
- DatagramSocket aSocket = new DatagramSocket();
-
- BufferedReader bufInput = new BufferedReader( new InputStreamReader(System.in) );
-
- String curr = "";
-
- int p = 5477;
-
- InetAddress aHost = InetAddress.getByName( args[0] );
- while ( (curr = bufInput.readLine() ) != null) {
-
- try {
-
- byte[] test = curr.getBytes();
-
- DatagramPacket request = new DatagramPacket(test, test.length, aHost, p);
-
- aSocket.send(request);
- byte[] buf = new byte[5000];
-
- DatagramPacket reply = new DatagramPacket(buf, buf.length);
-
- aSocket.receive(reply);
-
- System.out.println( "Replied information: " + new String( reply.getData() ) + " <----- Replied" );
- }
-
- catch (SocketException e) {
- System.out.println("Socket information: " + e.getMessage() + " <----- Socket" );
- }
-
- finally {
- if ( aSocket == null ) aSocket.close();
- }
- }
- }
- }
复制代码
************************************************************
Server端代码如下:
************************************************************
- import java.net.*;
- import java.io.*;
- public class UDPServer_1 {
- public static void main( String args[] ) throws IOException{
-
- int serverPort = 5477;
-
- DatagramSocket aSocket = new DatagramSocket(serverPort);
-
- try {
- while (!false) {
-
- byte[] buffer = new byte[5000];
-
- DatagramPacket aa = new DatagramPacket(buffer, buffer.length);
-
- aSocket.receive(aa);
-
- DatagramPacket reply = new DatagramPacket(aa.getData(),
- aa.getLength(), aa.getAddress(), aa.getPort());
-
- aSocket.send(reply);
- }
- }
-
- catch(SocketException e){
- System.out.println("Socket information: " + e.getMessage() + " <------ Socket");
- }
-
- finally{
- if(aSocket != null)
- aSocket.close();
- }
- }
- }
复制代码
************************************************************
问题是:
如何进行远程连接? 比如,我在威斯康辛州的电脑(Client端),怎么call你在旧金山的电脑(Server端)
我想的是把IP 地址配置一下,port配置一下,就可以运行。
至于,具体怎么运行上面代码? (ReadME)
************************************
javac UDPServer_1.java (编译Server端代码)
javac UDPClient_1.java (编译Client端代码)
(注意端口可以改如果需要)
java UDPServer_1 (运行server)
java UDPClient_1 localhost (运行Client去call 刚刚运行的server)
************************************
感谢各位大神!!!
|