网络编程Practices
分类:
IT文章
•
2023-12-21 16:21:43
1: Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?
Server
public class Server {
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server() {
try {
ss = new ServerSocket(10000);
while (true) {
socket = ss.accept();
String RemoteIP = socket.getInetAddress().getHostAddress();
String RemotePort = ":" + socket.getLocalPort();
System.out.println("A client come in!IP:" + RemoteIP + RemotePort);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = in.readLine();
System.out.println("Cleint send is :" + line);
out = new PrintWriter(socket.getOutputStream(), true);
out.println("Your Message Received!");
out.close();
in.close();
socket.close();
}
} catch (IOException e) {
out.println("wrong");
}
}
View Code
Client
public class Client {
Socket socket;
BufferedReader in;
PrintWriter out;
public Client() {
try {
System.out.println("Try to Connect to 127.0.0.1:10000");
socket = new Socket("127.0.0.1", 10000);
System.out.println("The Server Connected!");
System.out.println("Please enter some Character:");
BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
out = new PrintWriter(socket.getOutputStream(), true);
out.println(line.readLine());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(in.readLine());
out.close();
in.close();
socket.close();
} catch (IOException e) {
out.println("Wrong");
}
}
public static void main(String[] args) {
new Client();
}
};
View Code
2: 编写一个服务器和一个客户端
1)服务器可以读取本地文件内容并能将内容发给请求的客户端
2)再编写一个可以发请求到服务器,并能从服务器段获取文件内容的客户端
@Test
public void TcpTestOneClient(){
Socket socket = null;
InputStream is = null; // 获取服务端信息
// ByteArrayOutputStream bos = null;
FileOutputStream fos = null;
try {
socket = new Socket("127.0.0.1",1001);
is = socket.getInputStream();
int len;
byte [] bytes = new byte[5];
// bos = new ByteArrayOutputStream();
fos = new FileOutputStream("a.TcpOne.jpg");
while ((len = is.read(bytes)) != -1){
// bos.write(bytes,0,len);
fos.write(bytes,0,len);
}
// System.out.println(bos.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
if(socket != null){
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(is != null){
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos != null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// if(bos != null){
// try {
// bos.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
}
}
@Test
public void TcpTestOneServer(){
ServerSocket serverSocket = null;
Socket socket = null;
OutputStream os = null;
FileInputStream fis = null;
try {
serverSocket = new ServerSocket(1001);
socket = serverSocket.accept();
os = socket.getOutputStream();
int len;
byte [] bytes = new byte[1024];
fis = new FileInputStream(new File("a.jpg"));
while ((len = fis.read(bytes)) != -1){
os.write(bytes,0,len);
// os.write("老王我给你发了一个图片 你好好欣赏啊".getBytes());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(serverSocket != null){
try {
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(socket != null){
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(os != null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fis != null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
服务端向客户端发送文件
3: 编写一个简单的浏览器
1)将第一题的服务器做调整,如果客户端传输字符串: GET HTTP1.0 /index.jsp, 服务器会将指定目录(路径)下的index.jsp文件传输到客户端
2)客户端可以发请求和把上面的文件保存到本机的制定目录下
4: 编写一个服务器和一个客户端
1)服务器上保存了几个用户名和对应的密码;且能验证客户端发送过来的用户名和密码,是否和保存的某个用户名和对应的密码一致.
2)客户端能连接到服务器,并把用户在键盘上输入的用户名和密码,发送到服务器上
5:编写一个ATM服务器和一个客户端,可以通过客户端输入帐号,密码,然后利用服务器端验证,且能实现ATM存钱,取钱和修改密码的功能将上面的题目结合JDBC实现模拟银行的功能。(后面讲jdbc)
网络编程
1) 用网络编程编写一个服务端
2) 编写一个客户端,客户端向服务端发送一条信息
3) 服务端在这条信息前面加上“服务端:”后再返给客户端输出。
6: 网络聊天功能(50分)
1) 用网络编程编写一个服务端
2) 编写一个客户端,客户端向服务端发送一条信息
3) 服务端在这条信息前面加上“服务端:”后再返给客户端输出。
网络聊天功能(50分)
1) 用网络编程编写一个服务端(5分)
2) 用网络编写一个客户端(5分)
3) 客户端输入 client,服务端响应 I'SERVER!(40分)
实现服务器端和客户端的单线通话(50分)
1) 实例化一个服务器端(10分)
2) 实例化一个客户端(10分)
3) 服务器端和客户端相连接(10分)
4) 一旦服务器端接收到客户端的连接,服务器端就向客户端输出“welcom”(20分)
TCP/IP通信协议和IO
1) 实例化一个服务端(10分)
2) 实例化一个客户端,客户端可以向服务端发送一条信息(10分)
3) 用IO向D盘下面创建temp.txt文件(10分)
4) 服务端把接收到客户端的信息写到temp.txt文件中(20分)
.