因为我是java菜鸟,目前还在入门阶段,用最简单的代码来记录相关的知识点:
TCP客户端程序:
package dailyadviceclient;
import java.io.*;
import java.net.*;
public class DailyAdviceClient {
public void go(){
try {
Socket s = new Socket("127.0.0.1",5555);//建立一个新的Socket网络连接:第一个参数是IP地址,第二个是端口
InputStreamReader streamReader = new InputStreamReader(s.getInputStream());//创建Socket数据输入流
BufferedReader reader = new BufferedReader(streamReader);//从数据流中读取信息
String advice = reader.readLine();
System.out.println("Today you should:"+advice);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DailyAdviceClient client = new DailyAdviceClient();
client.go();
}
}
TCP服务端程序
package dailyadviceserver;
import java.io.*;
import java.net.*;
public class DailyAdviceServer {
String[] adviceList = {"Take smaller bites","Go for the tight jeans.No they do NOT make "
+ "you look fat"};//服务端要发送的信息列表
public void go()
{
try {
ServerSocket serverSocket = new ServerSocket(5555);//设置一个新的端口,尽量不要讲端口设置为0~1024,因为他们已经被已知的服务占用
while (true) {
Socket socket = serverSocket.accept();//创建件一个新的端口监听
PrintWriter writer = new PrintWriter(socket.getOutputStream());
String advice = getAdvice();
writer.println(advice);//向数据流中写信息
writer.close();
System.out.println(advice);
}
} catch (Exception e) {
}
}
private String getAdvice()
{
int random = (int)(Math.random() * adviceList.length);
return adviceList[random];
}
public static void main(String[] args) {
DailyAdviceServer server = new DailyAdviceServer();
server.go();
}
}
上面的例子大概描述了一个TCP网络编程的简单流程。