java与网络
1 网络通信的本质是进程间通信。
2 Tcp协议和UDP协议
TCP:开销大,用于可靠性要求高的场合。
TCP的过程相当于打电话的过程
UDP:用在对实时性要求比较高的场合。
UDP的过程相当于写信的过程。
注意:socket是套接字,ip和port(端口号 0~65535个端口,一个端口只能有一个进程)
3, TCP通信机制,tcp是面向连接的,实现多线程的方法有三个
① 为每个客户分配一个工作线程。
② 创建一个线程池,由其中的工作线程来为客户服务。
③ 利用JDK的Java类库中现成的线程池,由它的工作线程来为客户服务。
下面以为每个客户分配一个工作线程来实现多线程
在服务端
import java.net.*;
import java.io.*;
public class TCPServer2 {
public static void main(String[] args) throws Exception{
ServerSocket ss=new ServerSocket(9000);//端口号
while(true){
Socket s=ss.accept();//连接监听客户端
System.out.println(s.getInetAddress());
Thread t=new ServerThread(s);//实现多线程连接
t.start();
}
}
}
class ServerThread extends Thread{//分配线程
Socket s;
public ServerThread(Socket s){
this.s=s;
}
public void run(){
try {
OutputStream os=s.getOutputStream();//在网络中获取输出流
PrintWriter out=new PrintWriter(os);
for(int i=1;i<=30;i++){
out.println("Hello "+i);//通过网络发消息给客户端
out.flush();
Thread.sleep(1000);
}
} catch (Exception
相关文档:
第8章 多线程
(一)课程内容
8.1线程的基本概念
8.1.1线程的生命周期
8.1.2线程调度与优先级
8.2 Thread类和Runnable接13
8.2.1 Thread类
8.2.2 Runnable接口
8.3线程互斥和同步
8.3.1线程互斥
8.3.2线程同步
(二)学习目的与要求
本章介绍多线程的概念和编写多线程程序的方法,实现线程之间相互通信和同步的技 ......
/*
本段代码在公司项目中实际远程调用第三方公司提供的C#开发WebService的示例
*/
/**
* 登录游戏
*
* @param paramPN
* @param paramTerraceID
* @param paramSvrID
*/
private String loginGame(String paramPN, HttpServletRequest req){
&n ......
......
import java.awt.*;
import javax.swing.*;
import java.util.Date;
import java.awt.*;
class Time extends JFrame implements Runnable{//实现接口
Thread clockThread;
JLabel jLabel=new JLabel();
public Time()
{
Container con=this.getContentPane() ......
对于学习static我们先来看两个例子:
//Example 1 Tst.java,no main() method
package com.blogchina.qb2049;
public class Tst
{
static { System.out.println("111111"); }
}
运行结果为: 111111
Exception in thread "main" java.lang.NoSuchMethodError: main
同样的道理看第二 ......