使用java建立基于socket的c/s接收系统
来源:互联网 发布:nat123如何解析tk域名 编辑:程序博客网 时间:2024/05/22 13:34
http://wonka438.iteye.com/blog/1279136
使用java建立基于socket的c/s接收系统
socketipportjavac/s
- //运行时输入端口
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.net.SocketAddress;
- public class TCPEchoServer
- {
- /**
- * @param args
- */
- private staticfinal int BUFSIZE =32;
- public staticvoid main(String[] args) throws IOException
- {
- if (args.length != 1)//获取启动服务的端口
- throw new IllegalArgumentException("Parameter(s): <Port>");
- int servPort = Integer.parseInt(args[0]);
- //分配一个端口用于启动server端
- ServerSocket servSock = new ServerSocket(servPort);
- int recvMsgSize;
- byte[] receiveBuf = newbyte[BUFSIZE];
- while (1)
- {
- Socket clntSock = servSock.accept(); //接收客户端的主动连接
- SocketAddress clientAddress = clntSock.getRemoteSocketAddress();
- System.out.println("Handling client at " + clientAddress);
- InputStream in = clntSock.getInputStream();
- OutputStream out = clntSock.getOutputStream();
- while ((recvMsgSize = in.read(receiveBuf)) != -1)
- {
- out.write(receiveBuf, 0, recvMsgSize);
- }
- clntSock.close();
- }
- }
- }
//运行时输入端口import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.net.SocketAddress;public class TCPEchoServer{/** * @param args */private static final int BUFSIZE = 32;public static void main(String[] args) throws IOException{if (args.length != 1)//获取启动服务的端口throw new IllegalArgumentException("Parameter(s): <Port>");int servPort = Integer.parseInt(args[0]);//分配一个端口用于启动server端ServerSocket servSock = new ServerSocket(servPort);int recvMsgSize;byte[] receiveBuf = new byte[BUFSIZE];while (1){Socket clntSock = servSock.accept(); //接收客户端的主动连接SocketAddress clientAddress = clntSock.getRemoteSocketAddress();System.out.println("Handling client at " + clientAddress);InputStream in = clntSock.getInputStream();OutputStream out = clntSock.getOutputStream();while ((recvMsgSize = in.read(receiveBuf)) != -1){out.write(receiveBuf, 0, recvMsgSize);}clntSock.close();}}}
运行java TCPEchoServer 8001
8001为端口号
- //运行时输入 连接地址 字符 端口
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.Socket;
- import java.net.SocketException;
- public class TCPEchoClient
- {
- public staticvoid main(String[] args) throws IOException
- {
- if ((args.length < 2) || (args.length >3)) // 传入的数据在2~3之间,0:地址 1:传输字符 <2:端口>
- throw new IllegalArgumentException("Parameter(s): <Server> <Word> [<Port>]");
- String server = args[0]; // ip地址或主机名称
- byte[] data = args[1].getBytes();
- int servPort = (args.length == 3) ? Integer.parseInt(args[2]) :7;//默认端口为7
- Socket socket = new Socket(server, servPort);
- System.out.println("Connected to server...sending echo string");
- InputStream in = socket.getInputStream();
- OutputStream out = socket.getOutputStream();
- out.write(data);
- int totalBytesRcvd = 0;
- int bytesRcvd;
- while (totalBytesRcvd < data.length) {
- if ((bytesRcvd = in.read(data, totalBytesRcvd,data.length - totalBytesRcvd)) == -1)
- throw new SocketException("Connection closed prematurely");
- totalBytesRcvd += bytesRcvd;
- }
- System.out.println("Received: " + new String(data));
- socket.close();
- }
- }
//运行时输入 连接地址 字符 端口import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.net.SocketException;public class TCPEchoClient{public static void main(String[] args) throws IOException{if ((args.length < 2) || (args.length > 3)) // 传入的数据在2~3之间,0:地址 1:传输字符 <2:端口> throw new IllegalArgumentException("Parameter(s): <Server> <Word> [<Port>]"); String server = args[0]; // ip地址或主机名称 byte[] data = args[1].getBytes(); int servPort = (args.length == 3) ? Integer.parseInt(args[2]) : 7;//默认端口为7 Socket socket = new Socket(server, servPort); System.out.println("Connected to server...sending echo string"); InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); out.write(data); int totalBytesRcvd = 0; int bytesRcvd; while (totalBytesRcvd < data.length) { if ((bytesRcvd = in.read(data, totalBytesRcvd,data.length - totalBytesRcvd)) == -1) throw new SocketException("Connection closed prematurely"); totalBytesRcvd += bytesRcvd; } System.out.println("Received: " + new String(data)); socket.close(); }}
运行java TCPEchoClient 172.0.0.1 "quan" 8001
172.0.0.1为启动服务的ip
"quan"为传输的字符
8001为启动服务的端口
- 使用java建立基于socket的c/s接收系统
- 基于多线程的c/s socket类
- 在Symbian系统上建立基于蓝牙的Socket连接
- 基于C/S架构的排队系统
- 课程实验1 基于java Socket的C/S小程序
- Socket的建立 c#
- 基于socket通信的c/s模式开发
- 什么是基于B/S、c/s架构的系统设计
- JAVA SOCKET服务端接收C客户端字节长度的问题
- 基于C/S模型的java实现
- 基于socket的发送接收文本
- java使用socket实现文件传输时的接收判断
- 基于Java Socket的聊天室使用说明书
- 基于C/S架构的聊天系统的实现
- 用Socket建立简单的C/S结构的TCP/IP服务
- 基于SQL Server的C/S数据库应用系统
- 基于C/S模式的客户端软件系统
- 基于C/S模式的信息学院电子考试系统
- 网络安全管理技术未来发展趋势
- Linux下分支结构case的用法及实例
- 新版archlinux的安装与配置过程记录
- Android 系统属性
- sql取余和取整
- 使用java建立基于socket的c/s接收系统
- 我们为什么选择IE10
- 如何修改UINavigationBar的高度
- 最近的遭遇
- 发个小程序希望有人需要(操作摄像头)
- mysql fulltext
- C#基础练习题
- error: Failed dependencies错误解决方法
- Useful or beautiful ??