#socket server
#!/usr/bin/python
#-*- coding:utf-8 -*-
import socket
import os
host='127.0.0.1'
port=4444
#1、建立socket,繫結到本地ip埠
s=socket.socket(socket.af_inet,socket.sock_stream )
s.bind((host,port))
#2、監聽
s.listen(1)
print '[*] listening %s:%d' %(host,port)
#3、接收來自客戶端的請求
def handle_client(client_socket):
request = client_socket.recv(2048)
print "[*]client is sending %s" % request
if request=='exit' :
client_socket.sendall('bye...')
os._exit(0)
client_socket.sendall('ack!')
#4、不斷接收資料和傳送資料
while true:
client_socket1,addr=s.accept()
print 'accepted connect from ',addr
while true:
handle_client(client_socket1)
s.close()
#socket client
#!/usr/bin/python
#-*- coding:utf-8 -*-
import socket
#1、建立socket 連線埠
s=socket.socket(socket.af_inet, socket.sock_stream)
s.connect(('127.0.0.1',4444))
def handle_client(t):
input=raw_input('please input str:')
t.sendall(input)
data=t.recv(2048)
print 'server send data:%s' % data
if data =='bye...':
exit()
while true:
handle_client(s)
s.close()
遇到的問題:在處理server 時,需要不斷接受來自客戶端的請求。因此需要2個迴圈
socket程式設計
一直以為serversocket accept之後客戶端才能發資訊,實驗後得出如下結論 1 serversocket沒有accept時,client是可以傳送資訊到server端的。2 serversocket accept之後,正在處理訊息時,client也是可以傳送資訊到server端。如果se...
Socket程式設計
對tcp ip udp socket程式設計這些詞你不會很陌生吧?隨著網路技術的發展,這些詞充斥著我們的耳朵。那麼我想問 1.什麼是tcp ip udp?2.socket在 呢?3.socket是什麼呢?4.你會使用它們嗎?什麼是tcp ip udp?tcp ip transmission cont...
socket程式設計
建立socket 建立乙個 socket,它可用於在基於 tcp ip 的網路 如 internet 上通訊。socket s new socket addressfamily.internetwork,sockettype.stream,protocoltype.tcp 若要使用 udp 而不是 ...