bjmashbing-sysio's People
Forkers
dczhfan houjibofa2050 lshans xu-guo wq-wq-wq lvaolin juwentus1234 marsnumone superzhou111 chengfpvoid synpore kanco115 kylejiang yangzelin eaglesy tianxiancode lxy-git-code zihuatanejolee-glenn abigeer clay4444 thronlj1 chuckie596 akingde cityofskyzm sunyaf strawberry999 zl20125058 zhuyao378273431 svenwei jianghujulebu jiangbin216 marskang 420154195 poodon-kwok raynchen yongcs jhc91 jcdd2008 iamhaizhong wangying713 fubinh hanbx niku-bjq lmtz007 skwangdl macoconne breezelk andyzhuwei joviying yangqyloki tenderblur croyances zhaohan6357 i-know-magic ningshupei ppyang010 fangzuo ahutyang whg333 cu156 xiebigbang chenhuan2020 logic-liuchengyu youyoubuxiangchifan tianhang wufeng321 zhangsongyang fanshuge-m pptvgvg wcdaren trail-gudao yonger2016 woyaodangti wuhuangandbazhahei lwaixiao qingfeng826 leonziv shorn-deng is-a-clound anught iamrukia litewater jat0513 fzon0902 johnyhi finallysays dreamraininflowingtime albatronhenry wangqi402 chozee ljyothers jiaduni n-try mrzhoujiang yedongaidiiqu dreamship007 ccmine feng87881626 wuyuejin shengenxubjmashbing-sysio's Issues
ip四元组问题
客户端:
192.168.100.4 端口:9090
192.168.100.4 端口:9090
服务端:
192.168.100.7 端口:9091
192.168.100.7 端口:9092
开启两个Java进程进行bind本地相同的IP和端口,分别连接服务端的9091和9092,客户端会报端口被占用的问题
按照四元组中只要有一个不一样应该都可以连接,但是这种情况就会客户端会端口冲突,这个是什么原因呢
192.168.100.4:9090 192.168.100.7:9091
192.168.100.4:9090 192.168.100.7:9092
求解答
java.lang.UnsupportedOperationException: 'TCP_NODELAY' not supported
Exception in thread "main" java.lang.UnsupportedOperationException: 'TCP_NODELAY' not supported
at sun.nio.ch.ServerSocketChannelImpl.setOption(ServerSocketChannelImpl.java:132)
at com.bjmashibing.system.io.SocketNIO.main(SocketNIO.java:20)
我的环境是mac pro, 还有linux centos,这两个系统我都试了。都是报错,java版本都是java8
代码:
public class SocketNIO {
public static void main(String[] args) throws Exception {
LinkedList<SocketChannel> clients = new LinkedList<>();
ServerSocketChannel ss = ServerSocketChannel.open();
ss.bind(new InetSocketAddress(9090));
ss.configureBlocking(false); //OS NONBLOCKING!!!
ss.setOption(StandardSocketOptions.TCP_NODELAY, false);
// StandardSocketOptions.TCP_NODELAY
// StandardSocketOptions.SO_KEEPALIVE
// StandardSocketOptions.SO_LINGER
// StandardSocketOptions.SO_RCVBUF
// StandardSocketOptions.SO_SNDBUF
// StandardSocketOptions.SO_REUSEADDR
while (true) {
Thread.sleep(1000);
SocketChannel client = ss.accept(); // -1NULL
if (client == null) {
System.out.println("null.....");
} else {
client.configureBlocking(false);
int port = client.socket().getPort();
System.out.println("client...port: " + port);
clients.add(client);
}
ByteBuffer buffer = ByteBuffer.allocateDirect(4096);
for (SocketChannel c : clients) {
int num = c.read(buffer); // >0 -1 0
if (num > 0) {
buffer.flip();
byte[] aaa = new byte[buffer.limit()];
buffer.get(aaa);
String b = new String(aaa);
System.out.println(c.socket().getPort() + " : " + b);
buffer.clear();
}
}
}
}
}
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.