Java Socket套接字应用实例 java学习笔记(1)
为了学习Socket而写的一段小代码..实现客户端和服务端之间的文字通讯功能..
------------------------------------------------------------------------------------------------------------------------------------------------------
客户端实例代码:
public class Client {
public static void startClient() throws IOException {
try {
Socket csocket = new Socket("127.0.0.1",15409);//创建Socket应用实例..连接服务器127.0.0.1 ..端口15409..
System.out.println("Client OK~");
System.out.println("===============");
System.out.println("");
BufferedReader socketIn = new BufferedReader( new InputStreamReader(csocket.getInputStream()));//从socket接收到的信息..
PrintStream socketOut = new PrintStream(csocket.getOutputStream());//从socket要发送的信息..
BufferedReader userIn = new BufferedReader( new InputStreamReader(System.in));//用户输入的信息..
String s;
while ( true ) {
System.out.print("Client Message: ");
s = userIn.readLine();
socketOut.println(s);//发送用户输入信息..
if ( s.trim().equals("BYE") ) break;//若用户输入为"BYE"则结束通讯连接..
else {
System.out.println("Please wait Server Message..");
System.out.println("");
}
s = socketIn.readLine();//阻塞程序..直到从socket上读取到收到的信息..
System.out.println("Server Message: " + s);
if ( s.trim().equals("BYE") ) break;//若接收到的信息为"BYE"则结束通讯连接..
}
socketIn.close();
socketOut.close();
userIn.close();
csocket.close();
}
catch(Exception e) {
System.out.println("Error: " + e);
}
}
public static void main(String [] args) {
try {
startClient();
相关文档:
Java类中可以定义一个static块用于静态变量的初始化;当类的定义中不含有static块时,编译器会为该类提供一个默认的static块,前提
是存在静态变量的初始化操作;由于静态变量是通过赋值操作进行初始化的,因此可以通过静态函数返回值的方式为其初始化;类定义中可以存在多个static
块,而且在编译时编译器会将多个static ......
JAVA JDK中的解压缩似乎不能解压缩我们手工压缩的RAR文件,只能解压JDK中的API压缩的RAR
所以想出以下用WINRAR命令行方式的解压缩
package edu.nwpu.vcampus.util;
import java.io.File;
public class ZipUtil {
public static final String winrarP ......
import java.sql.*;
public class ConnectAccess {
/**
* 初学者请注意:
* 1:先建立一个access文件a1.mdb,并放在D:\下;
* 2:在数据库文件a1.mdb中建立一个表Table1;
* 3:为Table1添加一列,并插入至少一条记录;
* 4:本文是一个完整的类,直接拿去运行就可以。
*/
public static void main(Stri ......
面试官:熟悉哪种语言
应聘者:Java。
面试官:知道什么叫类么
应聘者:我这人实在,工作努力,不知道什么叫累
面
试官:知道什么是包?
应聘者:我这人实在? 平常不带包 也不用公司准备了
面试官:知道什么是接口吗?
应聘者:我这个人工
作认真。从来不找借口偷懒
面试官:知道什么是继承么
应聘者:我 ......
1. socket通信:有客户端和服务端的socket代码。
2. 多线程:客户端和服务端各用一线程发送信息;服务端另有一监听线程,用于把超时的信息删除。
这里应用到了同步,使两个线程可以操作同一个map。
代码:(类全在同一个包内)
server端:
Java代码 < typ ......